Quelqu'un peut-il m'aider à comprendre pourquoi cela retourne faux? Comme dans, causes potentielles. J'ai vérifié les variables sont correctes et j'ai vérifié des autorisations sur le dossier de destination 777. p> acclamations! P> pour ceux qui souhaitent voir Var_Dump ($ _files); P> > array(1) { ["image"]=> array(5) { ["name"]=> string(14) "accountile.png"
["type"]=> string(9) "image/png" ["tmp_name"]=> string(14) "/tmp/php28IQhv"
["error"]=> int(0) ["size"]=> int(394) } }
10 Réponses :
avec $ sur le champ ou $ chemin n'existe pas, ou Open_Basedir est en vigueur est mon devinement. P>
est Chemin de $ ne peut pas être une URL, il doit s'agir d'un chemin local tel que move_uploaded_file code> Vous n'avez pas besoin de 777 autorisations. Quelle est la sortie de $ chemin code>? Avez-vous vérifié que path $ code> existe? Avez-vous vérifié que $ champ code> existe? P>
open_basedir code> restriction activé? Cela pourrait empêcher la destination du fichier téléchargé d'être écrite. Regardez dans votre php.ini pour open_basedir code>, s'il existe un chemin spécifié, il est activé et que vous souhaitez voir si le chemin de destination de votre fichier téléchargé est dans ce chemin. Si c'est le cas, c'est pourquoi ça échoue. P>
/ home / utilisateur / public_html / code> p> p>
$ PATH et $ Retour de retour sur site Strings attendus. Je peux poster la sortie la plus récente si cela vous aidera.
@Yoi vous savez que $ chemin doit être un nom de fichier, pas un chemin, non?
Open_Basedir n'a pas de valeur dans phpinfo
$ chemin = BarbadostravelBuddy.co.uk/demo/images/carhire/... Plus récemment
Étapes de débogage de base: p>
print_r ($ _ fichiers) code> ressemble? li>
- Le fichier source existe-t-il réellement? li>
- est l'indicateur "Erreur" du téléchargement de fichier zéro (sera visible lorsque vous effectuez le document Print_R) LI>
- Que fait la cible
path $ code>? li>
- Spécifiez-vous un nom de fichier complet dans le chemin cible? LI>
ul>
mon hypothèse est que $ chemin code> n'est qu'un chemin d'accès à un dossier, non pas à un nom de fichier complet. P>
Mise à jour: vous devez spécifier un chemin FIXTYSTEM SYPIN STROND> AS $ PATH. P>
blockQuote>
Tous ces sont comme ils devraient être (je suppose que vous voulez dire un chemin cible absolu)
@ Ysol8 $ chemin code> doit être un nom de fichier complet qui n'existe pas encore, non seulement un chemin d'accès à un répertoire.
$ chemin = BarbadostravelBuddy.co.uk/demo/images/carhire/... Plus récemment
Avez-vous vérifié l'autorisation sur le dossier de téléchargement temporaire?
Qu'est-ce que PHP vous dit si vous faites: P>
var_dump($_FILES);
n'utilise pas mais p> Il doit être un chemin sur le système, pas une URL. p> p>
J'ai essayé / public_html / démo / images / carhaire qui n'a pas fonctionné. Ma liste de répertoire est root> Public_html> Demo> Images> Carhire
D'accord. Essayez de faire un mkdir ( php.net/manual/fr/funcunk.mkdir.php < / a>) dans ce répertoire. Cela vérifiera que le répertoire est correct et que vous en avez des droits.
Ensuite, vous n'avez pas le droit ou votre chemin n'est pas correct. Pouvez-vous faire un phpinfo () et nous donner le _server ["document_root"] code>? Pouvez-vous nous donner les autorisations que le répertoire a?
document_root est /home/sites/barbadostravelbuddy.co.uk/public_html/ et la permission est de 755
Alors pourquoi avez-vous dit "ma structure de répertoire est root> public_html> démo> images> location de voiture"? Ce n'est pas ... Répondre mis à jour avec le bon chemin.
J'ai vérifié les variables p>
Ne vérifiez pas les variables mais Vérifiez les messages d'erreur. strong>
C'est la seule chose dont vous avez besoin.
Ajoutez ces lignes en haut de votre code p>xxx pré> et voir ce qu'il dit.
Si move_uploaded_file a échoué, il sera toujours fort> Soulevez une erreur avecExplication détaillée forte>.
Vous ne le croirez pas, mais la lecture de messages d'erreur est une façon de trouver un moyen de trouver un problème que devingework em> vous avez essayé avant P>Je ne peux pas croire que personne ne l'a déjà mentionné. P> blockQuote>
Bon à savoir, je n'ai jamais eu de problèmes avec move_uploaded_file, donc je n'ai jamais eu besoin de savoir.
Erreur / échec Lorsque Move_Uploaded_file () code> est probablement causé par un problème d'autorisation dans le dossier / répertoire de destination. Et oui, vous pouvez voir les messages d'erreur avec cette réponse pour vérifier les messages d'erreur plutôt que de vérifier les variables pour les erreurs.
Tout en permettant aux avertissements est vraiment une bonne approche, il n'est pas vrai que move_uploaded_file code> crée toujours un message d'erreur. En particulier, si FileName code> ne pointe pas sur un fichier valide, NO B> Avertissement est créé. Le manuel PHP : si nom de fichier < / code> n'est pas un fichier de téléchargement valide, aucune action ne se produira, et move_uploaded_file () code> retournera false i>. i>
Avez-vous modifié votre php.ini pour vous assurer que upload_tmp_dir pointe sur un répertoire temporaire? P>
LOITY FÉRIER, merci, vous m'avez sauvé beaucoup de temps!
Voici ma part ... Impression d'erreurs possibles lors du téléchargement. P>
premier Créer la liste de répertoires / UPLoadedFiles
Ensuite, utilisez le code ci-dessous ... p>
Utilisation de $ _Server [Document_root] Fixe-le pour moi aussi.
$ chemin code> doit être un nom de fichier et non un chemin d'accès à un répertoire. P>
Vérifier:
enctype="multipart/form-data"
Je faisais face au même problème.
Si votre erreur dit "Échec de l'ouverture du flux: autorisation refusée" em> cela signifie que le serveur PHP fort> n'est pas capable de Création du nouveau fichier dans votre répertoire de destination. p> Une fois que vous avez défini les autorisations Linux sur le répertoire (WICH sons comme vous l'avez fait en le faisant 777), vous devez donner cette autorisation spéciale sur le serveur PHP. p> Si votre dossier est nommé "Uploads", CD dans le répertoire précédent et utilise la commande suivante: p> qui a définitivement résolu mon problème. p> espère que cela aide. p> p>
Ma première pensée serait de demander si $ champ est défini correctement, c'est-à-dire que vous spécifiez un nom de chemin correct. Je demanderais alors la même chose pour $ chemin. Essayez Var_Dumping chacun d'entre eux.
Pour ceux qui ont installé AVAST peuvent commander cette réponse: << a href = "https://stackoverflow.com/a/59223789/10539212"> Stackoverflow.com/a/59223789/10539212 >
Pour moi, c'était un chemin incorrect, il est très important de vérifier votre cheminement existant sur le serveur ou non, je mets le chemin en fonction des chemins de serveur locaux lorsque je le télécharge sur le serveur distant, j'ai reçu cette erreur.