Probleme d'upload

Probleme d'upload - PHP - Programmation

Marsh Posté le 28-11-2003 à 21:14:28    

Bon alors la ca devrais pas trop etre compliqué car il y a au max 15 ligne de codes :)
 
En fait je fait un simple script d'upload comme cela
 

Code :
  1. echo "<form action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\" method=post></p>";
  2.    echo "<p><input type=file name=\"pic\"></p>";
  3.    echo "<input type=hidden name=\"MAX_FILE_SIZE\" value=\"15360\">";
  4.    echo "<input type=submit name=\"upload\" value=\"upload smiley\"></form>";


 
traitement

Code :
  1. if ($_POST['upload'])
  2.   {
  3.    if (move_uploaded_file($_FILES['pic']['tmp_name'], "/smiley/perso/vi.gif" ))
  4.     echo "youpii";
  5.    else
  6.     echo getcwd();
  7.   }


 
Vous vous en doutez ca n'upload rien :lol:
Le retour du getcwd() me retourne e:/coding/chak_forum
 
a savoir la racine exacte de mon site.
Je cherche a uploader dans smiley/perso qui se trouve a la racine du site.
 
Bref je comprend vraiment pas pourquoi il n'upload rien.
De plus je cherche a upper un ptit fichier texte donc loin des 15ko

Reply

Marsh Posté le 28-11-2003 à 21:14:28   

Reply

Marsh Posté le 28-11-2003 à 23:23:43    

up du soir bonsoir :)

Reply

Marsh Posté le 28-11-2003 à 23:26:52    

Il existe le chemin c:/smiley/perso/ sur ton ZINDOWS ?
 
J'en doute !
 
essaye plutôt (move_uploaded_file($_FILES['pic']['tmp_name'], "c:\\coding\\chak_forum\\smiley\\perso\\vi.gif" ))
ou
(move_uploaded_file($_FILES['pic']['tmp_name'], "c:/coding/chak_forum/smiley/perso/vi.gif" ))
 
 
 
http://fr.php.net/manual/en/function.fopen.php :

Citation :

On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.  
 
 
<?php
$handle = fopen ("c:\\data\\info.txt", "r" );
?>


Message édité par Mara's dad le 28-11-2003 à 23:34:07

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-11-2003 à 23:35:29    

testerai ca demain :)

Reply

Marsh Posté le 28-11-2003 à 23:38:06    

Ou simplement en enlevant le / devant smiley :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 29-11-2003 à 11:39:23    

j'avais deja retiré le / et ca marchait pas.
J'ai oublier de la preciser dsl

Reply

Marsh Posté le 29-11-2003 à 11:42:20    

et meme en mettant
 

Code :
  1. if ($_POST['upload'])
  2.   {
  3.    if (move_uploaded_file($_FILES['pic']['tmp_name'], "e:\\coding\\chak_forum\\smiley\\perso\\vi.gif" ))
  4.     echo "youpii";
  5.    else
  6.     echo getcwd();
  7.   }


 
ca ne marche pas :/

Reply

Marsh Posté le 29-11-2003 à 11:44:54    

Cà donne quoi çà :
 
echo( '<pre>' );
print_r( $_FILES['pic'] );
echo( '<pre>' );


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 29-11-2003 à 11:48:37    

ca me retourne rien

Reply

Marsh Posté le 29-11-2003 à 12:41:04    

T'as un problème de conf du serveur pour l'upload !
 
phpinfo(); pour voir la conf.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 29-11-2003 à 12:41:04   

Reply

Marsh Posté le 29-11-2003 à 13:08:23    

file_uploads 1 :o

Reply

Marsh Posté le 29-11-2003 à 17:10:42    

up :)

Reply

Marsh Posté le 29-11-2003 à 23:39:38    

s'il vous plait :)

Reply

Marsh Posté le 29-11-2003 à 23:50:06    

Dans phpinfo(), il doit y avoir le nom du répertoire d'upload par défaut. Il faut vérifier qu'il existe.
 
En tout cas, il arrive pas à uploader le fichier, donc la question de déplacer le fichier ne se pose même pas.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 30-11-2003 à 00:20:46    

le nom existe bien j'ai verifié :/
 
c'est e:/php/temp

Reply

Marsh Posté le 02-12-2003 à 11:57:12    

echo $_FILES['pic']['error'];


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 13:10:51    

Code :
  1. $destination="smiley/perso/"
  2. If ($_POST['upload'])
  3. {
  4. $tmp_file=$_FILES['pic']['tmp_name'];
  5. $file=$_FILES['pic']['name'];
  6. If (!is_uploaded_file($tmp_file))
  7.         {
  8.         echo 'probleme 1<br />';
  9.         }
  10. If (!move_uploaded_file($tmp_file, $destination .$file))
  11.         {
  12.          echo 'probleme 2<br />';
  13.         }
  14. }


 
Tu verras mieux où se situe le problème.
 
Sinon, tu as les droits qu'il faut sur tes répertoires  (temporaire et déf) ?


Message édité par deliriumtremens le 02-12-2003 à 13:11:08
Reply

Marsh Posté le 02-12-2003 à 13:55:35    

Code :
  1. if ($_POST['upload'])
  2.   {
  3.    $uploaddir="smiley/perso/";
  4.    $tmp_name=$_FILES['pic']['tmp_name'];
  5.    $file="vi.gif";
  6.    if (!is_uploaded_file($tmp_name))
  7.     echo "can't upload";
  8.    if (!move_uploaded_file($tmp_name, $uploaddir.$file))
  9.     echo "can't move uploaded file";
  10.   }


 
il me retourne les deux, ce qui est logique.
ca upload pas don :/

Reply

Marsh Posté le 02-12-2003 à 14:00:26    

Mara's dad a écrit :

echo $_FILES['pic']['error'];


Et çà, çà dit quoi ?? ? ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:03:00    

pardon j'avais pas vu ton poste et en plus ca ne me retourne rien :heink:

Reply

Marsh Posté le 02-12-2003 à 14:09:16    

Tu serais pas en safe-mode ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:12:01    

nop

Reply

Marsh Posté le 02-12-2003 à 14:12:23    

Citation :

L'option MAX_FILE_SIZE cachée doit précéder le nom du fichier à charger, et représente la taille maximale du fichier à charger.


 
http://fr.php.net/manual/fr/features.file-upload.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:31:34    

ca fait la meme :cry:
 
tin jcomprend  vraiment pas

Reply

Marsh Posté le 02-12-2003 à 14:33:40    

Montre où en est ton code pour voir...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:38:26    

form

Code :
  1. echo "<form action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\" method=post></p>";
  2.    echo "<input type=hidden name=\"MAX_FILE_SIZE\" value=\"15360\">";
  3.    echo "<p><input type=file name=\"pic\"></p>";
  4.    echo "<center><input type=submit name=\"upload\" value=\"upload smiley\"></center></form>";


 
recup

Code :
  1. if ($_POST['upload'])
  2.   {
  3.    $_FILES['pic']['error'];
  4.    $uploaddir="smiley/perso/";
  5.    $tmp_name=$_FILES['pic']['tmp_name'];
  6.    $file="vi.gif";
  7.    if (!is_uploaded_file($tmp_name))
  8.     echo "can't upload";
  9.    if (!move_uploaded_file($tmp_name, $uploaddir.$file))
  10.     echo "can't move uploaded file";
  11.   }

Reply

Marsh Posté le 02-12-2003 à 14:48:44    

On est bien d'accord que tout çà est dans le même script genre :
 

Code :
  1. <?php
  2. echo "<form action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\" method=post></p>";
  3. echo "<input type=hidden name=\"MAX_FILE_SIZE\" value=\"15360\">";
  4. echo "<p><input type=file name=\"pic\"></p>";   
  5. echo "<center><input type=submit name=\"upload\" value=\"upload smiley\"></center></form>";
  6. if ($_POST['upload'])
  7. {
  8.     $_FILES['pic']['error'];
  9.     $uploaddir="smiley/perso/";
  10.     $tmp_name=$_FILES['pic']['tmp_name'];
  11.     $file="vi.gif";
  12.     if (!is_uploaded_file($tmp_name))
  13.        echo "can't upload";
  14.     if (!move_uploaded_file($tmp_name, $uploaddir.$file))
  15.        echo "can't move uploaded file";
  16.    
  17. }
  18. ?>


 
J'ai testé ce script chez moi dans un répertoire /up
 
Le script s'appelle up.php donc j'ai :
 
/up/up.php
/up/smiley/perso
 
Pas de prob chez moi.
 
Ton serveur WEB, il a le droit de lire et d'écrire dans e:/php/temp ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:49:40    

POur tester, essaye de créer un fichier dans e:\php\temp avec fopen( 'toto.txt', 'w' ); par exemple.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:50:56    

on est bien d'accord
 
moi j'ai  
chak_forum/up.php
chak_forum/smiley/perso
 
donc on a la meme config
 
par contre comment je peu verifié que mon server a le droit d'ecrire la dedans?

Reply

Marsh Posté le 02-12-2003 à 14:55:38    

chacal_one333 a écrit :

...
par contre comment je peu verifié que mon server a le droit d'ecrire la dedans?


 
Comme je te l'ai montré plus haut.
 
Py c'est TON serveur hein !
Je sais pas comment il marche, ni comment il est configuré !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 14:58:06    

Mara's dad a écrit :


 
Comme je te l'ai montré plus haut.
 
Py c'est TON serveur hein !
Je sais pas comment il marche, ni comment il est configuré !

avait pas vu ce post.
 
dsl chui pas un crack en config server :/

Reply

Marsh Posté le 02-12-2003 à 15:00:44    

chacal_one333 a écrit :


dsl chui pas un crack en config server :/


Moi non plus, surtout si j'ai pas le serveur à disposition.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 15:02:47    

bon bonne nouvelle le fichier se crée :)
 

Code :
  1. $open=fopen("e:/program/php/tmp/hop.txt", "w+" );
  2. fputs($open, "hop hop hop" );


 
fichier crée et hop hop hop ecrit dedans.
 
hmm


Message édité par Profil supprimé le 02-12-2003 à 15:03:07
Reply

Marsh Posté le 02-12-2003 à 15:10:13    

Et dans "e:\php\temp" c'est à dire le répertoire d'upload temporaire que tu avais signalé plus haut ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 15:15:59    

oulalala mal au crane la, j'ai pas de e:\php j'ai qu'un e:\program\php


Message édité par Profil supprimé le 02-12-2003 à 15:16:10
Reply

Marsh Posté le 02-12-2003 à 15:20:52    

Reprenons : Dans phpinfo(), tu m'as dis que le nom du répertoire d'upload (upload_tmp_dir) étais "e:\php\temp"
Je t'ai demandé de vérifier s'il existe bien.
http://forum.hardware.fr/forum2.ph [...] t=#t579170
Sinon faut le changer, genre e:\program\php\tmp par exemple :D


Message édité par Mara's dad le 02-12-2003 à 15:21:41

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 15:26:00    

je parlait de la variable du .ini qui existait bien et en plus je sais meme pas lire :lol:
 
c'est bien
upload_tmp_dir E:\Program\php\tmp\

Reply

Marsh Posté le 02-12-2003 à 15:35:39    

Bon, çà devrait marcher.
 
Donc, si çà marche pas, c'est que ton code est pourris :D
 
Tu n'as posté qu'un bout de ton code. Y'a d'autres choses autour que tu veux pas montrer ?
Si c'est le cas, soit tu montre TOUT, soit tu fait un test avec un script épuré, genre :  
 

Code :
  1. <?php
  2.   echo "<form action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\" method=post></p>";
  3.   echo "<input type=hidden name=\"MAX_FILE_SIZE\" value=\"15360\">";
  4.   echo "<p><input type=file name=\"pic\"></p>";   
  5.   echo "<center><input type=submit name=\"upload\" value=\"upload smiley\"></center></form>";
  6.  
  7.   if ($_POST['upload'])
  8.    {
  9.         $_FILES['pic']['error'];
  10.         $uploaddir="smiley/perso/";
  11.         $tmp_name=$_FILES['pic']['tmp_name'];
  12.         $file="vi.gif";
  13.         if (!is_uploaded_file($tmp_name))
  14.         {
  15.              echo "can't upload";
  16.              phpinfo();
  17.         }
  18.         if (!move_uploaded_file($tmp_name, $uploaddir.$file))
  19.              echo "can't move uploaded file";
  20.         else
  21.              echo "<h1>File uploaded !<h1>";
  22.    }
  23.   ?>


 
Si tu as le message "can't upload" et le résultat du phpinfo() qui s'affiche, envoie le source HTML complet qu'on puisse y voir plus clair... Pasque là, j'épuise mes cartouches :/
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 02-12-2003 à 15:42:00    

HAN ca a marché.
 
bon reste a comparé le code crados d'a coté  [:wawash]


Message édité par Profil supprimé le 02-12-2003 à 15:45:39
Reply

Marsh Posté le 02-12-2003 à 15:45:13    

chacal_one333 a écrit :


return : can't upload avec le reste du .ini :'(


 
MONTRE LE CODE HTML GENERE PAR PHPINFO() QUAND T'AS UNE ERREUR D'UPLOAD ! ! !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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