Maison >développement back-end >Problème PHP >Que dois-je faire si PHP indique que le répertoire racine de téléchargement n'existe pas ?
Solution lorsque PHP vous demande que le répertoire racine de téléchargement n'existe pas : accordez d'abord les autorisations sur le répertoire racine et vérifiez si le problème est résolu ; si le problème n'est pas résolu, utilisez la commande mkdir pour créer un nouveau dossier ; les autorisations les plus élevées sur le dossier nouvellement créé.
L'environnement d'exploitation de cet article : système windows10, php 7, ordinateur thinkpad t480.
Problème de restauration :
Après avoir essayé de télécharger une image, j'ai reçu un message : "Le répertoire racine de téléchargement n'existe pas ! Veuillez essayer de le créer manuellement."
Solution :
Essayez d'abord de donner l'autorisation, et si le problème ne résout toujours pas, supprimez le dossier. Utilisez ensuite la commande mkdir pour créer un nouveau dossier et accordez-lui les autorisations 777.
Question 2 :
J'ai rencontré les problèmes suivants lors du processus de développement de l'utilisation de ThinkPHP3 pour télécharger des images :
Le répertoire racine de téléchargement n'existe pas ! Veuillez essayer de créer manuellement : ./Uploads/ ; les images téléchargées ont des noms chinois tronqués ; lors du téléchargement de fichiers, un dossier nommé d'après la date actuelle sera automatiquement généré et les fichiers y seront enregistrés.
Remarque : L'environnement de développement est Xampp sous Windows
Le code est joint avant que le problème ne soit résolu :
Voici les solutions aux trois problèmes :
Problème 1
Lors de la vérification des informations, certains Les internautes ont déclaré que les problèmes d'autorisation des dossiers peuvent être résolus comme suit :
Par exemple, si vous souhaitez enregistrer les images téléchargées dans le répertoire ./Uploads, définissez rootPath sur './' et savePath sur le chemin à enregistrer. pour mettre "." devant. Le chemin final du répertoire de sauvegarde est ./Uploads/1/.
$upload->rootPath = "./"; $upload->savePath = "Uploads/$uid/";
Question 2
Trouvez la méthode de sauvegarde dans le fichier ThinkPHPLibraryThinkUploadDriverLocal.class.php :
Changez
if (!move_uploaded_file($file['tmp_name'], $filename))
en
if (!move_uploaded_file($file['tmp_name'], iconv('utf-8','gb2312',$filename)))
Question 3
Lors du téléchargement, le sous-répertoire est automatiquement utilisé pour enregistrer le fichier téléchargé par défaut, c'est $upload->autoSub = true; Définissez-le sur false.
Ajoutez le code suivant dans les paramètres de téléchargement dans le code :
$upload->autoSub = false;
Apprentissage recommandé : Formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!