Activer la création de fichiers temporaires et leur utilisation dans Apache / PHP par Python / R / tout programme externe – les meilleures options

J’ai un script python / R, qui utilise Python et R pour calculer une figure. Le chiffre réel est généré par R et peut être stocké sous forme d’image PNG. Cela fonctionne bien lorsque testé sur la machine, dans un dossier avec les permissions correctes, mais je dois le faire en ligne maintenant. J’ai une interface Apache / PHP qui envoie les données utilisateur au script Python et le script Python fonctionne avec R pour calculer la figure.

En ce moment, l’image ne peut pas être stockée sur Apache par R. Quelle est la meilleure façon d’activer cette création de fichier temporaire par des programmes externes tels que R et Python? Plus loin, j’ai besoin que l’image soit affichée, puis supprimée à la fin de la session PHP.

Bien que ce soit certainement utile, toutes les méthodes qui autorisent uniquement l’access à Python ou R ne sont pas suffisantes. Ma question est celle du modus operandi client-serveur dans Apache: supposons que le programme X soit appelé par PHP. Comment est-il préférable de permettre au programme X de stocker et d’envoyer des images / textes / quoi que ce soit à PHP et comment les implémenter?

Créer un dossier accessible au serveur avec des permissions complètes semble être un trou noir de sécurité.

Avec R, vous pouvez générer des noms de fichiers pour les fichiers temporaires. Vous pouvez également utiliser file.remove pour supprimer le fichier ultérieurement, mais il semblerait que cela soit mieux fait avec le code PHP (s’il doit être supprimé à la fin de la session PHP).

 plot_file <- paste(tempfile(tmpdir = "some_dir_with_write_permission"), "png", sep = ".") png(plot_file) plot(1:10) dev.off() #later on ... file.remove(plot_file)