upload fichier impossible, fichier non trouvé

upload fichier impossible, fichier non trouvé - PHP - Programmation

Marsh Posté le 08-03-2005 à 15:00:41    

bonjour,
 
je voudrais uploader un fichier du client sur le serveur, le problème c'est qu'il ne trouve pas le fichier, apparement il lui manque le chemin d'accès au fichier.
voici le code :
 
<form name="Form1" method="post" >
Sélectionnez le fichier que vous souhaitez uploader.<br>
<br>
<font size="1" color="#FF0000"><b></b></font><br>
<br><input name="fileup" type="file" size=30><br>
Le nommé:<br>
<input type="text" name="name" size=40><br><br>
<input type="submit" name="up" value="Envoyer votre fichier!" action="up.php"><br>
</form>
 
 
 
<?php
if(isset($up)):
$file = stripslashes($fileup);
$file = trim($fileup);
$named = stripslashes($name);
$named = trim($name);
copy($fileup,$named);
echo("Fichier Envoyé!" );
endif;
?>  :cry:  

Reply

Marsh Posté le 08-03-2005 à 15:00:41   

Reply

Marsh Posté le 08-03-2005 à 15:03:21    

Balises [code] s'il-te-plaît
 
Aussi, faut jamais mettre de trucs genre "$up", mais toujours $_POST['up'] (ou $_GET['up'] si t'es en method GET). Parce que  
1) C'est plus sécurisé
2) Le jour où tu tombes sur un serveur qui a REGISTER GLOBALS à OFF, tu va t'amuser à retaper tous tes scripts [:itm]
 
Sinon, ça marche pas comme ça l'upload de fichier ;) Regarde la Doc sur le tableau global $_FILES :)

Reply

Marsh Posté le 08-03-2005 à 15:03:35    

[:hide]
 
<input type="file">
 
[edit]
 
Ah tiens ça y était déjà...je retourne me coucher...[:dawa]


Message édité par skeye le 08-03-2005 à 15:10:17

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-03-2005 à 15:07:01    

t'a essayé par curisosité de matter la doc ???
http://fr.php.net/manual/fr/features.file-upload.php
 
il te manque déjà enctype="multipart/form-data" très important dans le formulaire...
 
et surtout la syntaxe $_FILES['fileup'][...] pour accéder à ton fichier uploadé...
 
et pour accéder au variable de ton form c'est $_POST['up']...
ça marche surement ce que tu as, mais paske le register_globals est à "On" ce qui est déconseillé au niveau sécurité
 
EDIT: trop de temps a chercher le lien vers la doc --> http://webxav.chez.tiscali.fr/gif/src2/barbec.jpg


Message édité par Xav_ le 08-03-2005 à 15:08:54

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 08-03-2005 à 16:09:13    

merci de vos réponses mais j'ai tapé exactement ce qu'il y a dans la doc et ça ne marche toujours pas: S_FILES semble être vide. j'ai aussi essayé avec $HTTP_POST_FILES mais c pareil
 
 

Code :
  1. <html><body>
  2. <form enctype="multipart/form-data" action="up.php" method="post">
  3.   <!-- MAX_FILE_SIZE doit précéder le champs input de type file -->
  4.   <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  5.   <!-- Le nom de l'élément input détermine le nom dans le tableau $_FILES --> 
  6.   Envoyez ce fichier : <input name="userfile" type="file" />
  7.   <input type="submit" value="Envoyer le fichier" />
  8. </form>
  9. <?php
  10. // En PHP < 4.1.0, $HTTP_POST_FILES doit être utilisé
  11. //    à la place de $_FILES.
  12. $uploaddir = '/var/www/uploads/';
  13. $uploadfile = $uploaddir . basename($HTTP_POST_FILES['userfile']['name']);
  14. echo $uploadfile;
  15. echo '<pre>';
  16. if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $uploadfile)) {
  17.    echo "Le fichier est valide, et a été téléchargé
  18.            avec succès. Voici plus d'informations :\n";
  19. } else {
  20.    echo "Attaque par upload potentielle. Voici plus d'informations :\n";
  21. }
  22. echo 'Voici quelques informations de déboguage :';
  23. print_r($HTTP_POST_FILES);
  24. echo '</pre>';
  25. ?>


Message édité par hindk le 08-03-2005 à 16:11:13
Reply

Marsh Posté le 08-03-2005 à 16:14:51    

as-tu crée le répertoire /var/www/uploads ?
ton serveur (apache par exemple) a-t-il les droits d'écrire dedans?
 
sinon si tu veux vérifier que $_FILES n'est pas vide, insere dans ton code un

Code :
  1. echo $_FILES['userfile']['tmp_name']

par exemple

Reply

Marsh Posté le 08-03-2005 à 16:15:33    

Si tu fais un
print_r($_FILES);
dans la cible de ton formulaire, il te dit quoi?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-03-2005 à 16:17:36    

oui le répertoire est crée et quand je fais echo $_FILES['userfile']['tmp_name'] il n'affiche rien :(

Reply

Marsh Posté le 08-03-2005 à 16:18:46    

print_r($_FILES);  m'affiche : Array ( )

Reply

Marsh Posté le 08-03-2005 à 16:19:33    

hindk a écrit :

print_r($_FILES);  m'affiche : Array ( )


ok, ya rien dedans, donc...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-03-2005 à 16:19:33   

Reply

Marsh Posté le 08-03-2005 à 16:19:43    

fait ce que dis Skeye, et qui est d'ailleurs marqué dans la doc, print_r($_FILES);  
et tu regarde le code d'erreur...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 08-03-2005 à 16:20:22    

l'upload est autorisé dans ton php.ini ???


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 08-03-2005 à 16:22:23    

faut un répertoire tmp aussi pour qu'il puisse stocker le fichier temporaire pitetre (mais vraiment pitetre) (fouettez moi si je dis des bêtises :D)

Reply

Marsh Posté le 08-03-2005 à 16:40:33    

ca marche , je n'avais pas la permission de telecharger dans le php.ini et je devais relancer le serveur pour que la modif soit prise en compte
Merci :)

Reply

Marsh Posté le 08-03-2005 à 17:08:07    

désolé de vous redéranger mais maintenant j'ai l'erreur suivante:
 Warning:  Unable to create '/home/T/attributs.txt':  Permission non accordée in /var/www/html/up.php on line 11
Warning:  Unable to move '/tmp/phpibIDwF' to '/home/master/T/attributs.txt' in /var/www/html/up.php on line 11
 
à la ligne  11 il y a : move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $uploadfile)
 
j'ai vérifié les droits des répertoires ils sont ok

Reply

Marsh Posté le 08-03-2005 à 17:58:29    

Ben non t'as pas les droits :D Sinon ça marcherait...

Reply

Marsh Posté le 08-03-2005 à 19:14:01    

ben chmod 0777, je sais spa bien, mais au moins le temps de tester que ça vient pas de là... alors pas la tete siouplait ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

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