12
votes

Move_UploadeDed_file échec

Quelqu'un peut-il m'aider à comprendre pourquoi cela retourne faux? XXX PRE>

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) } }


3 commentaires

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.


10 Réponses :


1
votes

avec move_uploaded_file Vous n'avez pas besoin de 777 autorisations. Quelle est la sortie de $ chemin ? Avez-vous vérifié que path $ existe? Avez-vous vérifié que $ champ existe?

$ sur le champ ou $ chemin n'existe pas, ou Open_Basedir est en vigueur est mon devinement.

est open_basedir restriction activé? Cela pourrait empêcher la destination du fichier téléchargé d'être écrite. Regardez dans votre php.ini pour open_basedir , 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.

mise à jour

Chemin de $ ne peut pas être une URL, il doit s'agir d'un chemin local tel que / home / utilisateur / public_html /


4 commentaires

$ 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



0
votes

Étapes de débogage de base:

  • Que fait un print_r ($ _ fichiers) ressemble?
  • Le fichier source existe-t-il réellement?
  • est l'indicateur "Erreur" du téléchargement de fichier zéro (sera visible lorsque vous effectuez le document Print_R)
  • Que fait la cible path $ ?
  • Spécifiez-vous un nom de fichier complet dans le chemin cible?

    mon hypothèse est que $ chemin n'est qu'un chemin d'accès à un dossier, non pas à un nom de fichier complet.

    Mise à jour: vous devez spécifier un chemin FIXTYSTEM SYPIN AS $ PATH.


3 commentaires

Tous ces sont comme ils devraient être (je suppose que vous voulez dire un chemin cible absolu)


@ Ysol8 $ chemin 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



0
votes

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);


0 commentaires



1
votes

Avez-vous modifié votre php.ini pour vous assurer que upload_tmp_dir pointe sur un répertoire temporaire?


0 commentaires

0
votes

LOITY FÉRIER, merci, vous m'avez sauvé beaucoup de temps!

Voici ma part ... Impression d'erreurs possibles lors du téléchargement.

premier Créer la liste de répertoires / UPLoadedFiles Ensuite, utilisez le code ci-dessous ... xxx


1 commentaires

Utilisation de $ _Server [Document_root] Fixe-le pour moi aussi.



0
votes

$ chemin doit être un nom de fichier et non un chemin d'accès à un répertoire.


0 commentaires

1
votes

Vérifier:

enctype="multipart/form-data"


0 commentaires

0
votes

Je faisais face au même problème.

Si votre erreur dit "Échec de l'ouverture du flux: autorisation refusée" cela signifie que le serveur PHP n'est pas capable de Création du nouveau fichier dans votre répertoire de destination.

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.

Si votre dossier est nommé "Uploads", CD dans le répertoire précédent et utilise la commande suivante: xxx

qui a définitivement résolu mon problème.

espère que cela aide.


0 commentaires