[PHP] Upload d'un fichier sous easyphp 1.7

Upload d'un fichier sous easyphp 1.7 [PHP] - PHP - Programmation

Marsh Posté le 04-02-2004 à 21:08:15    

Voilà c'est très simple, je cherche un exemple simple de code executant l'upload d'un fichier sur un serveur.
 
=> code html + php
 
Il faudrait que cet exemple fonctionne avec EasyPHP 1.7
 
 
Pourquoi cette demande?
 
Un site fonctionnant parfaitement sous un apache linux ne fonctionne plus au niveau de l'upload de fichier sous easyphp 1.7.
 
 
=> failed to open stream: No such file or directory
 
 
 
Merci d'avance
 
 
 
 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 04-02-2004 à 21:08:15   

Reply

Marsh Posté le 04-02-2004 à 22:08:05    

A tous les coups c'est le nom de variables PHP.
 
Fais péter ton code...


Message édité par kfman le 04-02-2004 à 22:35:11
Reply

Marsh Posté le 04-02-2004 à 22:31:18    

Là il n'y a plus de message d'erreur mais l'upload ne fonctionne pas => répertoire de destination vide :/
 
 


 
$dirto = mkdir ("../products/$ref", 0777);
if(!empty($_FILES["file1"])) {  
   $uploaddir = $dirto;  
   $uploadfrom = $_FILES["file1"]["tmp_name"];
   $uploaddir += $_FILES["file1"]["name"];  
    if(copy($uploadfrom, $uploaddir)) {
       $result = "ok" ;
   } else {
       $result = "nok" ;
   }
}


Message édité par Profil supprimé le 04-02-2004 à 22:32:09
Reply

Marsh Posté le 04-02-2004 à 22:37:02    

A la place de copy:
 
move_uploaded_file($uploadfrom,$uploaddir)

Reply

Marsh Posté le 04-02-2004 à 22:40:23    

dans le php.ini :
 
- file_uploads doit etre a On
- et il faut fixer upload_max_filesize
 
et préfères move_uploaded_file () à copy() pour des raisons de sécurité !
 
edit : grilled pour move_uploaded_file (), mais vais t'expliquer pourquoi ... cette methode s'assure que le fichier est transmis en méthode POST !


Message édité par simogeo le 04-02-2004 à 22:41:29

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 04-02-2004 à 22:45:16    

ok merci les amis. Je m'en vais essayé de ce pas.

Reply

Marsh Posté le 04-02-2004 à 22:54:32    

extrait du php.ini:
 


;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
 
; Whether to allow HTTP file uploads.
file_uploads = On
 
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "D:\EasyPHP\tmp\"
 
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


 
La fonction "move_uploaded_file" de fait guère de différence.
 
Mon script m'indique que le fichier est bien uploadé mais le répertoire de destination reste désepérement vide :/  
 
 

Reply

Marsh Posté le 04-02-2004 à 22:58:02    

[:meganne]

Reply

Marsh Posté le 04-02-2004 à 23:04:47    

spectro > tu as redemarré ton serveur après les modifs ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 04-02-2004 à 23:08:01    

oui oui

Reply

Marsh Posté le 04-02-2004 à 23:08:01   

Reply

Marsh Posté le 04-02-2004 à 23:10:03    

T'a affiché le contenu de $uploaddir ?

Reply

Marsh Posté le 04-02-2004 à 23:45:31    

essay de mettre ta page en .php3 moi sa ma fait le coup mais bon sa se trouve c pas sa mais tu peut toujour essayer ta rien a perdre

Reply

Marsh Posté le 04-02-2004 à 23:46:34    

ceam a écrit :

$uploaddir .= $_FILES["file1"]["name"];  
au lieu de
$uploaddir += $_FILES["file1"]["name"];
 
parce que sur ma config ça écrit un fichier avec pour nom : 0


a ué, j'avais pas vu ca [:zytrahus5] .. additionner des strings c'est mal  :D  
 

ceam a écrit :


et aussi
if(isset($_FILES["file1"])) {  
au lieu de
if(!empty($_FILES["file1"])) {
 
parce que sinon le fichier n'est pas copié


ca, ca doit passer  :??:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 05-02-2004 à 00:12:41    

oui oui tout ça j'ai corrigé  :)  
 
 
Message d'erreur actuel sur Easyphp 1.7 :
 


Warning: move_uploaded_file(../products/10016/): failed to open stream: Permission denied in d:\easyphp\www\site21\fr\administration_add.php on line 162
 
Warning: move_uploaded_file(): Unable to move 'D:\EasyPHP\tmp\php1F4.tmp' to '../products/10016/' in d:\easyphp\www\site21\fr\administration_add.php on line 162


 
 
 
 
Message d'erreur actuel sur le serveur Linux distant:
 


Warning: move_uploaded_file(../products/10002/): failed to open stream: Is a directory in /home/www/site21/fr/administration_add.php on line 162
 
Warning: move_uploaded_file(): Unable to move '/tmp/phpdeTgwR' to '../products/10002/' in /home/www/site21/fr/administration_add.php on line 162


 
 
Dire qu'avant ce site fonctionnait nickel avant la mise à jour du serveur par l'hebergeur. Je suis trop dégouté et j'y comprends plus rien [:sisicaivrai]
 
 
Je jète l'éponge


Message édité par Profil supprimé le 05-02-2004 à 00:13:39
Reply

Marsh Posté le 05-02-2004 à 00:20:17    

chmod qui va bien sur le dossier


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 05-02-2004 à 00:27:20    

simogeo a écrit :

chmod qui va bien sur le dossier


 
 
avec un 0777, j'vois pas ce que j'peux faire de mieux.
 
Et le CHMOD n'est pas pris en compte sous windows => ce qui me fait demander le pourquoi du comment du "permission denied"


Message édité par Profil supprimé le 05-02-2004 à 00:27:47
Reply

Marsh Posté le 05-02-2004 à 00:33:14    

balance ton script complet ub


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 05-02-2004 à 01:15:25    

Ton hébergeur a surement safe_mode "on" dans son php.ini. Teste dans un répertoire plus proche du script(style /home/www/site21/fr/ ou /home/www/site21/fr/tmp/)

Reply

Marsh Posté le 05-02-2004 à 01:15:54    

le script complet serait sympa aussi

Reply

Marsh Posté le 05-02-2004 à 08:41:59    

Master p a écrit :

Ton hébergeur a surement safe_mode "on" dans son php.ini. Teste dans un répertoire plus proche du script(style /home/www/site21/fr/ ou /home/www/site21/fr/tmp/)


 
 
Effectivement dans la source de la page, j'observe:
 


Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 662 is not allowed to access /home/www/preview/products/10006 owned by uid 99 in /home/www/preview/fr/administration_add.php on line 172
 
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 662 is not allowed to access /home/www/preview/products/10006 owned by uid 99 in /home/www/preview/fr/administration_add.php on line 182


 
Ces erreus n'apparaissaient pas directement à l'écran ... je ne voyais que les autres erreurs  :D
 
Bon j'vais essayer  ;)
 
 
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed