


Keperluan Format Output: PHP memperoleh senarai fail direktori dan menggunakannya dalam JavaScript
Aug 22, 2025 pm 05:51 PMSisi PHP: Dapatkan senarai fail
Pertama, kita perlu menggunakan PHP untuk membaca semua nama fail dalam direktori yang ditentukan. Berikut adalah kod contoh mudah yang menunjukkan cara melaksanakan fungsi ini menggunakan fungsi OpenDir, Readdir, dan tertutup.
Php $ files = []; $ direktori = 'c: \ xampp \\ htdocs \\ dump \\ uploads'; // Gantikan dengan laluan direktori anda jika ($ handle = opendir ($ direktori)) { sementara (false! == ($ entry = readdir ($ handle))) { jika ($ entry! = "." && $ entry! = "..") { $ fail [] = $ entry; } } tertutup ($ pemegang); } else { echo "tidak boleh membuka direktori"; } // senarai fail output, mudah untuk debugging print_r ($ fail); ?>
Penjelasan kod:
- $ files = [] ;: Inisialisasi array kosong untuk menyimpan nama fail.
- $ direktori = 'c: \ xampp \ htdocs \ dump \ uploads';: tentukan laluan direktori untuk dibaca. Sila ubah laluan ini mengikut keadaan sebenar anda.
- Opendir ($ direktori): Membuka direktori yang ditentukan dan mengembalikan pemegang direktori.
- Readdir ($ mengendalikan): Baca entri dari pemegang direktori, yang boleh menjadi fail atau subdirektori.
- $ entri! = "." && $ entri! = "..": Tapis direktori semasa (.) Dan direktori induk (..).
- $ fail [] = $ entri;: Tambah nama fail baca ke array $ fail.
- Tertutup ($ mengendalikan): Tutup pemegang direktori dan lepaskan sumber.
- print_r ($ fail);: Cetak senarai fail untuk debugging.
Nota:
- Sila pastikan PHP mempunyai kebenaran untuk mengakses direktori yang ditentukan.
- Laluan direktori perlu menggunakan backslashes berganda (\\) atau slashes ke hadapan (/).
Lulus array php ke javascript
Seterusnya, kita perlu lulus senarai fail yang diperolehi oleh PHP ke JavaScript. Kaedah yang sama adalah menggunakan fungsi JSON_ENCODE untuk menukar array PHP ke dalam rentetan JSON dan menghuraikan rentetan itu dalam JavaScript.
<script type="text/javascript"> const files = json.parse (<? php echo "'" .json_encode ($ fail). "'";?>); console.log ('myfiles', fail); </script>
Penjelasan kod:
- JSON_ENCODE ($ fail): Tukar Array PHP $ fail ke JSON String.
- echo "'" .json_encode ($ fail). "'" ;: output json strings ke halaman HTML dan bungkusnya dalam petikan tunggal untuk mencegah kesilapan parsing JavaScript.
- Json.parse (): Gunakan fungsi json.parse () dalam javascript untuk menghuraikan tali json dan tukarnya menjadi tatasusunan javascript.
- Console.log ('myfiles', fail);: Cetak senarai fail ke konsol untuk debug mudah.
Cara lain:
Anda juga boleh membenamkan data JSON secara langsung ke dalam atribut data HTML dan kemudian dibaca dalam JavaScript:
<div id="senarai fail" data-files="'<?" php echo json_encode fail> '> </div> <script> const fileListElement = document.getElementById ('File-List'); const files = json.parse (fileListElement.dataset.files); console.log ('Fail dari atribut data:', fail); </script>
Kaedah ini lebih jelas dan mengelakkan output langsung pembolehubah PHP dalam tag skrip.
Sisi JavaScript: Gunakan senarai fail
Sekarang, kami telah berjaya meluluskan senarai fail yang diperolehi oleh PHP kepada JavaScript. Nama fail ini boleh digunakan dalam JavaScript untuk pelbagai operasi, seperti senarai penjanaan dinamik, penapisan fail, dll.
// Contoh: Secara dinamik menjana senarai fail const fileListContainer = document.getElementById ('file-list-container'); files.foreach (file => { const listItem = document.createElement ('li'); listItem.TextContent = file; fileListContainer.AppendChild (ListItem); });
Penjelasan kod:
- Document.GetElementById ('Fail-List-Container'): Mendapatkan elemen HTML yang digunakan untuk memaparkan senarai fail.
- files.foreach (file => {...});: melangkah ke atas array senarai fail.
- Document.CreateElement ('li'): Buat elemen LI baru.
- listItem.TextContent = File;: Tetapkan kandungan teks elemen LI ke nama fail.
- FileListContainer.AppendChild (ListItem): Menambah elemen LI ke bekas senarai fail.
Meringkaskan:
Melalui langkah -langkah di atas, kami telah berjaya melaksanakan fungsi menggunakan PHP untuk mendapatkan senarai fail direktori dan lulus nama fail ini ke JavaScript untuk digunakan. Kaedah ini boleh digunakan untuk pelbagai senario di mana senarai fail perlu dimuatkan secara dinamik, seperti perpustakaan imej, sistem pengurusan fail, dan lain -lain. Sila ambil perhatian bahawa keselamatan adalah penting, dan penting untuk mengesahkan dan menapis fail yang dimuat naik oleh pengguna untuk mengelakkan suntikan kod berniat jahat.
Atas ialah kandungan terperinci Keperluan Format Output: PHP memperoleh senarai fail direktori dan menggunakannya dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

UseFilter_var () TOVALIDATEMailSyntaxandCheckDnsrr () TOVERIFYDOnMAINMXRECORDS.example: $ e -mel = "user@example.com"; if (filter_var ($ e -mel, filter_email) && checkDnsrr (expode '

UseUnserialize (Serialize ($ obj)) fordeepcopyingWhenallDataisserizable; jika tidak, pelaksanaan__clone () tomanuallyduplicatenestedObjectsandavoidsharedReferences.

UseArray_Merge () toCombineArrays, OverwritingDuplicateStringKeySandreIndexingNumericKeys; forsimplerconcatenation, terutamaInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

Namespacesinphporganizecodeandpreventnamingnamingconflictsbygroupinglasses, antara muka, fungsi, dan constantsunderaspecificname.2.defineAnamespaceusingthenamespaceywordetopofafile, diikuti olehbythenamespaceakenam

Toupdateadatabaserecordinphp, firstConnectusingPdoormySqli, thenusePePreparedStatementStoExecuteAseCureSqlupDateQuery.example: $ pdo = newpdo ("mysql: host = localhost; dbName = your_database: $ userbase: $ userbase"

The__call () methodistriggeredWhenaninaccessibleorundefinedmethodiscalledonanObject, membolehkanCustomHandlylyAccepteThemeThodnamnamnamnents, asshownwhencallingundefinedmethodslikesayhello ()

Gunakan kelas ziparchive untuk membuat fail zip. Pertama instantiate dan buka zip sasaran, tambahkan fail dengan addfile, menyokong laluan dalaman tersuai, fungsi rekursif boleh membungkus seluruh direktori, dan akhirnya memanggil dekat untuk menyimpan untuk memastikan bahawa PHP mempunyai kebenaran menulis.

UsePathinfo ($ FileName, pathinfo_extension) togetthefileextension; itreliLyHandlesmultipledotsandgecases, returnTheExtension (mis., "Pdf") Oranemptystringifnoneexists.
