November 25, 200520 yr C'est un problème assez étrange. Si j'essai d'uploader un fichier en PHP et que ce fichier à une taille de 0 octet (un fichier texte vide...) PHP me retourne un erreur. Warning: Unable to open 'none' for reading: Aucun fichier ou répertoire de ce type in /serveur/intra/comptab/procedure_upload.php on line 29 Ma ligne 29: if (copy ($userfile, "/data/$userfile_name")) { unlink ($userfile); } C'est comme s'il ne voyait pas de $userfile à cause que le fichier n'a que 0 octet.... mais je fais des validations avant de me rendre là -> if (empty($userfile_size)) exit; et if (empty($userfile_name)) exit; et ça passe !!! Pourquoi le $userfile serait vide (et non le name et size) dans le cas d'un fichier à 0 octet dans ce cas et que m'empêche de copier ce fichier ? Edited December 7, 200520 yr by ggbce
November 25, 200520 yr Tu n'utilises pas les bonnes fonctions, et tu n'as visiblement pas lu la doc. http://fr3.php.net/manual/fr/features.file-upload.php Bonne lecture :)
November 25, 200520 yr Author Sur que j'ai lu la doc, c'est simplement "l'ancienne" méthode php 3.x et 4.x et le script ça fait un bon bout de temps qu'il est en marche... c'est simplement que ce n'était jamais arrivé auparavant d'uploader un fichier de 0 octet. Je vais quand même essayer de modifier les variables en espérant que ma version 4.1.2 les supporte. Mais si qq'un d'autre à vu ce bug, svp écrivez-moi
December 1, 200520 yr c'est plutot ta variable qui va pas, il trouve pas le fichier a ecrire et n'utilise pas copy cette commande n'est pas la bonne surtout pour un script mis en ligne utilise celle ci: move_uploaded
December 1, 200520 yr Author c'est plutot ta variable qui va pas, il trouve pas le fichier a ecrireet n'utilise pas copy cette commande n'est pas la bonne surtout pour un script mis en ligne Ma méthode fonctionne très bien avec n'importe quel fichier, sauf si la taille est à 0 octet. Ce n'est pas trop grave "question sécurité" car cette action est lancé depuis une section sécurisé par mot de passe sous HTTPS (SSL) du site qu'uniquement moi à accès. J'ai lu la doc sur "move_uploaded_file". Ça peut régler mon problème... mais j'ai trouvé quelque chose d'encore plus intéressant dans les discussions débatus sur ce sujet. La méthode "ftp_put" semble plus efficace et permet d'enregister les fichiers avec le umask, l'usager et groupe que de mon utilisateur FTP en même temps ! Je vais tester ça dès que je peux.
December 1, 200520 yr si tu lie bien la description de copy il retourne un message d'erreur pour un fichier de 0octets le move_uploaded est la fonction concu pour faire ton truc a quoi bon choisir une autre fonction. c'est aussi la moins risquée en cas de problème de script ou de hack, les autres fonctions sont dangereuses enfin c'est mon avis
December 7, 200520 yr Author si tu lie bien la description de copy il retourne un message d'erreur pour un fichier de 0octets C'est ce que je voulais savoir. Sachant que c'est "normal" car la fonction ne le permet pas c'est résolu. Merci !
Archived
This topic is now archived and is closed to further replies.