Erreur inconnue avec move_uploaded_file()
Fermé
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
-
16 mars 2014 à 19:25
Utilisateur anonyme - 22 mars 2014 à 15:18
Utilisateur anonyme - 22 mars 2014 à 15:18
A voir également:
- Erreur inconnue avec move_uploaded_file()
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 38 free ✓ - Forum Mobile
- Erreur 5000 france tv - Forum iPhone
15 réponses
Utilisateur anonyme
20 mars 2014 à 21:26
20 mars 2014 à 21:26
Tu dis que $_SERVER['DOCUMENT_ROOT'] (je suppose que c'est la variable globale dont tu parles dans ton message #4) te rend "/" et que la racine de ton site, ce n'est pas la racine du disque.
N'y aurait-il pas comme une contradiction ?
N'y aurait-il pas comme une contradiction ?
Utilisateur anonyme
16 mars 2014 à 22:28
16 mars 2014 à 22:28
Bonjour
As-tu testé $_FILES['avatar']['error'] ?
As-tu fait afficher $ds . $fc pour être bien sûr du nom de destination ?
As-tu testé $_FILES['avatar']['error'] ?
As-tu fait afficher $ds . $fc pour être bien sûr du nom de destination ?
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
17 mars 2014 à 18:52
17 mars 2014 à 18:52
Le premier renvoie 0, et le deuxième /images/avatars/avatar_1.png, soit le bon chemin...
Utilisateur anonyme
17 mars 2014 à 23:52
17 mars 2014 à 23:52
/images/avatars/avatar_1.png, soit le bon chemin...
Je me permets (peut-être à tort) d'en douter.
/images est vraiment un répertoire à la racine de ton disque ? Ou à celle de ton site ? Si c'est bien à la racine du disque courant, ok, mais si c'est à la racine de ton site, tu aurais plutôt dû faire :
Car ici, il n'est pas question d'URL, mais de système de fichiers. Donc un chemin qui commence par / est un chemin absolu dans le système de fichiers, pas dans le dossier de ton site.
Je me permets (peut-être à tort) d'en douter.
/images est vraiment un répertoire à la racine de ton disque ? Ou à celle de ton site ? Si c'est bien à la racine du disque courant, ok, mais si c'est à la racine de ton site, tu aurais plutôt dû faire :
move_uploaded_file($_FILES['avatar']['tmp_name'], $_SERVER['DOCUMENT_ROOT ] . $ds . $fc)
Car ici, il n'est pas question d'URL, mais de système de fichiers. Donc un chemin qui commence par / est un chemin absolu dans le système de fichiers, pas dans le dossier de ton site.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
18 mars 2014 à 11:27
18 mars 2014 à 11:27
Je sais tout ça, mais la variable globale (qui est déjà dans mon code, d'ailleurs) renvoie "/" ...
Utilisateur anonyme
18 mars 2014 à 15:36
18 mars 2014 à 15:36
En effet, excuse-moi, j'avais lu trop vite.
As-tu essayé d'afficher $_FILES['avatar']['tmp_name'] et $sz pour voir s'ils semblent corrects ?
As-tu essayé d'afficher $_FILES['avatar']['tmp_name'] et $sz pour voir s'ils semblent corrects ?
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
18 mars 2014 à 18:41
18 mars 2014 à 18:41
Oui oui, j'ai enlevé le "/" dans "/images" quand j'ai remarqué ça.
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
18 mars 2014 à 19:03
18 mars 2014 à 19:03
Retour : /tmp/phpK2Bdzl et 36880 (correct)
Utilisateur anonyme
18 mars 2014 à 22:47
18 mars 2014 à 22:47
J'ose à peine le demander ... tu as bien vérifié l'existence et les droits de lecture/écriture du répertoire /images/avatars/ ? As-tu essayé de créer un fichier dans ce répertoire, avec un script, en faisant un simple fopen ?
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
19 mars 2014 à 19:46
19 mars 2014 à 19:46
/images/avatars/ : je l'ai moi même créé dans mon FTP avec le CHMOD 755.
Et non j'ai pas essayé.
Et non j'ai pas essayé.
Utilisateur anonyme
19 mars 2014 à 22:02
19 mars 2014 à 22:02
Tu l'as créé dans ton FTP ? C'est sur un serveur distant ? Alors la racine de ton site, c'est la racine du disque de ton serveur ? Je me pose de plus en plus de questions.
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
20 mars 2014 à 20:46
20 mars 2014 à 20:46
Oui, oui, non (cf. doc d'Olympe.in)
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
21 mars 2014 à 18:26
21 mars 2014 à 18:26
Fichier placé à la racine du site, include fait, mais toujours ce / désespérant... :/
Utilisateur anonyme
21 mars 2014 à 20:49
21 mars 2014 à 20:49
Pourrais-tu faire des phrases complètes et explicites ?
Si tu utilises bien DOCUMENT_ROOT à la place de $_SERVER['DOCUMENT_ROOT'], tu dois maintenant avoir un nom de chemin un peu plus élaboré qu'un simple '/'.
J'ai bien dit DOCUMENT_ROOT tout court, sans $_SERVER['']
Si tu utilises bien DOCUMENT_ROOT à la place de $_SERVER['DOCUMENT_ROOT'], tu dois maintenant avoir un nom de chemin un peu plus élaboré qu'un simple '/'.
J'ai bien dit DOCUMENT_ROOT tout court, sans $_SERVER['']
Evenkore
Messages postés
17
Date d'inscription
dimanche 16 mars 2014
Statut
Membre
Dernière intervention
2 août 2014
Modifié par Evenkore le 22/03/2014 à 13:52
Modifié par Evenkore le 22/03/2014 à 13:52
Oh, ça marche \o/
Merci beaucoup ;)
Merci beaucoup ;)
20 mars 2014 à 22:07
On doit pouvoir trouver le 'vrai' document_root à partir de __FILE, mais c'est gênant pour la compatibilité avec les scripts 'normaux'
20 mars 2014 à 22:38
Tu peux utiliser DOCUMENT_ROOT à la place du $_SERVER['DOCUMENT_ROOT'] habituel de PHP. Attention, le chemin obtenu ne se termine PAS par un "/".
J'ai choisi "define" pour avoir une constante plutôt que de définir une variable $document_root=... car avec une constante, tu n'as pas besoin de mettre global dans toutes les fonctions. Par contre, tu ne peux pas mettre la constante dans une chaîne entre doubles quotes, à toi de voir ce que tu préfères.
20 mars 2014 à 23:17