2010-10-27 4 views
0

Est-il possible en PHP de le configurer pour ne pas enregistrer les fichiers sur le disque? En fait, la meilleure chose serait de lancer le script avant même de lire tout le corps du POST. (Garder mes espoirs élevés;))

+0

Vous en avez besoin pour un ou plusieurs fichiers? Vous limiter à un fichier serait une option? D'où viendra le fichier, un formulaire? –

Répondre

0

Vous pouvez désactiver les téléchargements de fichiers via un paramètre de configuration en PHP.

http://php.net/manual/en/ini.core.php#ini.file-uploads

+0

Ce n'est pas ce qu'il veut dire: il veut que les téléchargements de fichiers fonctionnent sans fichiers temporaires. –

+0

c'est encore pire. il veut attraper directement le flux de téléchargement sans le tamponner dans le fichier temp. ce serait plutôt sympa pour les gros fileuploads. – ITroubs

0

PHP a besoin d'un endroit pour stocker temporairement pour vous le contenu des fichiers pour être en mesure d'interagir avec elle par PHP - bien que, vous ne devez rien faire d'autre autre accès le fichier temporaire pour obtenir les données:

$content = file_get_contents($_FILES["user_file"]["tmp_name"]); 

A partir de là, vous pouvez manipuler le contenu des fichiers sans avoir à déplacer le fichier téléchargé vers un autre emplacement avant d'y accéder.

+1

c'est exactement ce qu'il ne demandait pas. il veut savoir s'il y a une possebilité de ne pas le faire le normal "enregistrer dans un temp puis laisser travailler php avec lui" façon – ITroubs

+0

Je sais et je disais juste l'évidence et en même temps en ajoutant une idée. – Repox

0

Vous pouvez utiliser HTTP PUT demandes pour télécharger directement un fichier. PHP ne gère pas le téléchargement directement (par exemple, il est configuré dans $ _FILES). Au lieu de cela, vous devez lire les octets bruts du pseudo-url php://input et à partir de là, vous pouvez faire ce que vous voulez.

Il y a quelques détails et exemples here.

Questions connexes