[php]erreur upload formulaire move_uploaded_file() - Warning: no such file or directory

Bonjours, tout d’abord, un petit topo de la situation:
je suis étudiant en 1ére année d’iut info, on a un mini projet a rendre en php, voici le sujet: mini projet

En gros on doit créer une platefrome d’échange de fichiers multi utilisateurs.
Vous pouvez telecharger ce que j’ai fait ici.
Je suis en train de créer le script d’upload de fichiers, et j’ai ces erreurs:

Warning: move_uploaded_file(/projphp/repertoires/bibireadme.txt): failed to open stream: No such file or directory in c:\documents and settings\hp_propriétaire\bureau\nouveau dossier\html\mini projet porte doc multi utilisateur\upload.php on line 14

Warning: move_uploaded_file(): Unable to move ‘C:\PROGRA~1\EASYPH~1\\tmp\php7B18.tmp’ to ‘/projphp/repertoires/bibireadme.txt’ in c:\documents and settings\hp_propriétaire\bureau\nouveau dossier\html\mini projet porte doc multi utilisateur\upload.php on line 14
Erreur lors de la copie du fichier

Je ne comprend pas, j’ai cherché plusieurs scripts sur le net, a chaques fois la fonciton move_uploaded_file() plante, je ne sais plus quoi faire, ca m’empéche d’avancer (je doit encore gérer les droits, et c’est pas une mince affaire)

Merci

Essaye avec un chemin absolu "windowsien" pour commencer :

/projphp/repertoires/bibireadme.txt
->
C:/projphp/repertoires/bibireadme.txt

Donc si tu n’as pas le dossier projphp, ça ne déplacera jamais bien loin :slight_smile:

C’est bien sympa de nous mettre tout un zip mais on va pas débugger à ta place.
D’après l’erreur, dans ton fichier upload.php, vérifie le chemi de destination.

Je suis sûr que si tu le mets dans le répertoire d’easyphp, tout fonctionnera bien, c’est juste un problème de chemin. Mets un chemin absolu et pas un relatif.

Edit pour Sans-Nom> Les grands esprits se rencontrent :slight_smile:

Merci, ca marche, le plus génant c’est qu’il va falloir tout modifier pour porter tout le code sous linux…

Sinon, pour le zip, c’était pas pour que les forumeurs fassent le travail, d’ailleur dans ce cas, un simple post du code de upload.php aurait était plus simple :slight_smile: .
C’est juste que si vous avez tout mon code, on perd moins de temps, et en plus vous pouvez tester…

DIRECTORY_SEPARATOR est là pour la portabilité des paths.

Et PHP_EOL pour les fins de ligne.

Sinon, pour les répertoires, il vaut mieux utiliser la constante mais ‘/’ fonctionne partout.