php d'upload de fichier move_uploaded_file() Failed to open stream
J'ai un fichier de script d'upload:
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["picture"]["name"]));
if ((($_FILES["picture"]["type"] == "image/gif") || ($_FILES["picture"]["type"] == "image/jpeg") || ($_FILES["picture"]["type"] == "image/jpg") || ($_FILES["picture"]["type"] == "image/png")) && in_array($extension, $allowedExts)):
if($_FILES["picture"]["error"] > 0):
echo "Error: " . $_Files["picture"]["error"];
else:
move_uploaded_file($_FILES["picture"]["tmp_name"], "/TnA/ProfilePics/" . $_SESSION['ID'] . "." . $extension);
endif;
endif;
Mais j'obtiens l'erreur:
Warning: move_uploaded_file(TnA/ProfilePics/1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/content/91/9848191/html/TnA/webservice.php on line 1067
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php5nOdhI' to 'TnA/ProfilePics/1.jpg' in /home/content/91/9848191/html/TnA/webservice.php on line 1067
Voici mon fichier de structure:
Web Host Root (I have another site here)
-TnA (Root of this site)
-index.html
-webservice.php
-ProfilePics
-(My target location)
Ce relative de l'url du répertoire dois-je utiliser? J'ai essayé ProfilePics/1.jpg
et /ProfilePics/1.jpg
fois de suite dans la même erreur.
EDIT:
À l'aide de:
move_uploaded_file($_FILES["picture"]["tmp_name"], dirname(__FILE__) . "ProfilePics/" . $_SESSION['ID'] . "." . $extension);
J'obtiens:
Warning: move_uploaded_file(/home/content/91/9848191/html/TnA/ProfilePics/1.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/content/91/9848191/html/TnA/webservice.php on line 1067
Vous devez vous connecter pour publier un commentaire.
Plus probable que vous avez un problème à l'aide de chemins concernés. Si votre script d'upload est webservice.php alors vous êtes en train d'essayer de mettre le fichier dans
/%webHostRoot% /TnA /TnA /ProfilePics /
répertoire. L'utilisation du chemin d'accès complet dans
move_uploaded_file()
's de la cible.Essayez d'utiliser quelque chose comme:
UPD:
Voici func pour créer des répertoires de manière récursive:
Warning: move_uploaded_file(http://****.net/TnA/ProfilePics/1.jpg) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections in /home/content/91/9848191/html/TnA/webservice.php on line 1067
ProfilePics
. Alors, évidemment... elle n'existait pas. C'est corrigé maintenant, mais votre réponse n'a l'aide! Merci.