


Exigences de format de sortie: PHP obtient la liste des fichiers du répertoire et l'utilise en javascript
Aug 22, 2025 pm 05:51 PMC?té php: obtenez la liste des fichiers
Tout d'abord, nous devons utiliser PHP pour lire tous les noms de fichiers dans le répertoire spécifié. Voici un exemple simple de code montrant comment implémenter cette fonction à l'aide des fonctions OpenDir, ReadDir et CLOLIRIR.
Php $ files = []; $ Directory = 'C: \ XAMPP \\ htdocs \\ Dump \\ uploads'; // remplace par votre chemin de répertoire if ($ handle = opendir ($ répertoire)) { while (false! == ($ entry = readdir ($ handle))) { if ($ entry! = "." && $ entrée! = "..") { $ files [] = $ entrée; } } CLOLIRIR ($ Handle); } autre { Echo "Impossible d'ouvrir le répertoire"; } // Liste des fichiers de sortie, pratique pour le débogage print_r ($ files); ?>
Explication du code:
- $ files = [];: Initialisez un tableau vide pour stocker les noms de fichiers.
- $ Directory = 'C: \ XAMPP \ HTDOCS \ Dump \ uploads';: Spécifiez le chemin du répertoire à lire. Veuillez modifier ce chemin en fonction de votre situation réelle.
- OpenDir ($ Directory): ouvre le répertoire spécifié et renvoie une poignée de répertoire.
- ReadDir ($ manche): Lisez une entrée à partir d'une poignée de répertoire, qui peut être un fichier ou un sous-répertoire.
- $ entrée! = "." && $ entrée! = "..": filtrez le répertoire actuel (.) Et le répertoire parent (..).
- $ files [] = $ entrée;: Ajoutez le nom de fichier de lecture au tableau $ des fichiers.
- CLOLIRIR ($ Handle): Fermez la poignée du répertoire et relachez la ressource.
- print_r ($ files);: imprimez une liste de fichiers pour le débogage.
Notes:
- Veuillez vous assurer que PHP a la permission d'accéder au répertoire spécifié.
- Le chemin du répertoire doit utiliser les doubles backslashs (\\) ou les barres obliques (/).
Passer un tableau PHP à JavaScript
Ensuite, nous devons passer la liste des fichiers obtenus par PHP dans JavaScript. Une méthode courante consiste à utiliser la fonction json_encode pour convertir un tableau PHP en une cha?ne JSON et analyser cette cha?ne en javascript.
<script type="text / javascript"> const files = json.parse (<? php echo "'" .json_encode ($ files). "'";?>); console.log (?myFiles?, fichiers); </script>
Explication du code:
- JSON_ENCODE ($ Files): Convertir les fichiers PHP Array $ en cha?ne JSON.
- Echo "'" .json_encode ($ files). "'";: Sortie des cha?nes JSON sur les pages HTML et les enveloppez dans des devis uniques pour empêcher les erreurs d'analyse JavaScript.
- JSON.Parse (): Utilisez la fonction JSON.Parse () en JavaScript pour analyser les cha?nes JSON et les convertir en tableaux JavaScript.
- console.log (?myFiles?, fichiers);: imprimez la liste des fichiers sur la console pour un débogage facile.
Une autre fa?on:
Vous pouvez également intégrer directement les données JSON dans les attributs de données de HTML, puis lire dans JavaScript:
<div id="file-list" data-files="'<?" php echo json_encode files> '> </div> <cript> const fileListElement = document.getElementById ('File-list'); const files = json.parse (fileListement.dataset.files); Console.log ('Files From Data Attribut:', fichiers); </cript>
Cette méthode est plus claire et évite la sortie directe des variables PHP dans les balises de script.
C?té javascript: utilisez la liste des fichiers
Maintenant, nous avons réussi à passer la liste des fichiers obtenus par PHP à JavaScript. Ces noms de fichiers peuvent être utilisés dans JavaScript pour diverses opérations, tels que la génération de listes dynamiquement, les fichiers de filtrage, etc.
// Exemple: générer dynamiquement la liste de fichiers const fileListContainer = document.getElementById ('file-list-container'); files.ForEach (file => { const listItem = document.createElement ('li'); listItem.textContent = fichier; FileListContainer.ApendChild (listItem); });
Explication du code:
- document.getElementById ('File-list-container'): obtient l'élément HTML utilisé pour afficher la liste des fichiers.
- files.ForEach (file => {...});: itérer sur le tableau de liste de fichiers.
- Document.CreateElement ('Li'): Créez un nouvel élément Li.
- listItem.textContent = file;: Définissez le contenu texte de l'élément Li au nom du fichier.
- FileListContainer.ApendChild (listItem): ajoute l'élément Li au conteneur de liste de fichiers.
Résumer:
Grace aux étapes ci-dessus, nous avons réussi à implémenter la fonction d'utilisation de PHP pour obtenir une liste de fichiers de répertoire et transférer ces noms de fichiers dans JavaScript pour une utilisation. Cette méthode peut être appliquée à divers scénarios où les listes de fichiers doivent être chargées dynamiquement, telles que les bibliothèques d'images, les systèmes de gestion de fichiers, etc. Veuillez noter que la sécurité est cruciale, et il est important de vérifier et de filtrer les fichiers téléchargés par les utilisateurs pour empêcher l'injection de code malveillante.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Usefilter_var () tovalidateemailsyntaxandcheckdnsrr () toverifydomainmxrecords.example: $ email = "user@example.com"; if (f ilter_var ($ e-mail, filter_validate_email) && checkdnsrr (explosage ('@', $ e-mail) [1], 'mx')) {echo "ValidAndDeliverableMail & Qu

UseUnserialize (serialize ($ obj)) FordopcopyingwhenallDataisSerializable; Sinon, implémentez__Clone () TomanuallyDuplicatesedObjectsAndavoidSharedReferences.

UseArray_merge () toCombineArrays, écrasant leduplicatestringKeysAndreIndexingNumericKeys; ForsimplecCaTencatenation, en particulierInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

NamespacesInphporganizEcodeAndPreventnamingConflictsBygroupingClasses, Interfaces, Functions et ConstantsunSunSaspecificName.2.DefineanamespaceusingTheNamesPaceSpaceKeyWordAtTopofaFile, suiviByTheNamesPacename, Suchasapp \ Controlers...USUSEUSEKEYWORDTOI

ToupDateAdatabasereCorDinPhp, FirstConnectUsingPDoOrmysQLi, theNusepreparedStationStoExECUSEASECURSQLUPDATEQUERY.example: $ pdo = newPDO ("MySql: host = localhost; dbname = votre_database", $ username, $ mot de passe); $ sql = "dameussem =.

La méthodiette () méthodiste axée sur le point de réviser la mise en ?uvre de l'inscription, ce qui permet de faire de la maintenance à la qualité de qualité et

UsePathinfo ($ nom de fichier, pathinfo_extension) togetThefileExtension; itreliabblyHandlesMultipledototsEdGasases, renvoyantTheExtension (par exemple, "pdf") oranemptystringefNoneExists.

Utilisez la classe Ziparchive pour créer un fichier zip. Instancier et ouvrir le zip cible, ajouter des fichiers avec addFile, prendre en charge les chemins internes personnalisés, les fonctions récursives peuvent emballer l'intégralité du répertoire et enfin appeler près pour enregistrer pour s'assurer que PHP a des autorisations d'écriture.
