Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Hanya ambil satu nama fail daripada tatasusunan php

Hanya ambil satu nama fail daripada tatasusunan php

王林
王林asal
2023-05-11 10:45:37433semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat biasa digunakan untuk menyimpan set data berkaitan. Apabila memproses muat naik fail, kami boleh menggunakan tatasusunan untuk menyimpan maklumat tentang fail yang dimuat naik. Maklumat fail yang biasa dimuat naik termasuk nama fail, jenis fail, saiz fail, dsb., yang mana nama fail merupakan elemen yang sangat penting.

Dalam tatasusunan PHP, kami boleh menggunakan subskrip tatasusunan untuk mengakses elemen dalam tatasusunan, contohnya:

$files = $_FILES['file']; // $_FILES是PHP的预定义变量之一,用于处理HTTP上传文件
$fileName = $files['name']; // 获取上传文件的文件名

Dalam kod di atas, kami mula-mula mendapatkan fail melalui $_FILES['file'] Muat naik objek dan kemudian gunakan $file['name'] untuk mendapatkan nama fail bagi fail yang dimuat naik. Walau bagaimanapun, apabila kami memuat naik berbilang fail, $_FILES'file' akan menjadi tatasusunan, yang mengandungi nama fail semua fail yang dimuat naik, seperti yang ditunjukkan di bawah:

Array
(
    [0] => file1.txt
    [1] => file2.txt
    [2] => file3.txt
)

Jika kita hanya perlu mendapatkan satu daripada fail fail nama, apa yang perlu saya lakukan? Berikut ialah dua kaedah:

Kaedah 1: Gunakan subskrip tatasusunan untuk mengakses

Anda boleh mendapatkan nama fail bagi fail yang ditentukan dengan menentukan subskrip tatasusunan. Contohnya, jika kita ingin mendapatkan nama fail bagi fail kedua yang dimuat naik, kita boleh menggunakan kod berikut:

$fileName = $_FILES['file']['name'][1];

Dalam kod di atas, $_FILES'file' ialah tatasusunan, dan [1] bermaksud untuk mendapatkan bahagian bawah tatasusunan Elemen bertanda 1 ialah nama fail bagi fail yang dimuat naik kedua.

Namun, kaedah ini mempunyai had tertentu dan memerlukan kita mengetahui subskrip nama fail yang hendak diperolehi. Apakah yang perlu kita lakukan jika kita tidak tahu subskrip nama fail yang ingin kita dapatkan dalam tatasusunan? Pada masa ini, anda perlu menggunakan kaedah dua: gunakan gelung untuk melintasi tatasusunan.

Kaedah 2: Gunakan loop traversal

Dengan menggelung melalui tatasusunan, kita boleh mengakses semua elemen dalam tatasusunan satu demi satu, dan kemudian membuat pertimbangan untuk menapis nama fail yang diperlukan. Sebagai contoh, kod berikut menggunakan gelung foreach untuk melintasi tatasusunan $_FILES'file' dan mengeluarkan semua nama fail:

foreach ($_FILES['file']['name'] as $fileName) {
    echo $fileName . '<br>';
}

Dalam kod di atas, gelung foreach akan menggelung melalui tatasusunan $_FILES['file ']['name'] Setiap elemen, iaitu nama fail bagi setiap fail yang dimuat naik, melaksanakan blok kod dalam badan gelung secara bergilir-gilir. Kita boleh menilai $fileName dalam badan gelung untuk menentukan sama ada ia adalah nama fail yang kita perlukan.

Sudah tentu, jika kita hanya perlu mendapatkan nama fail pertama dalam tatasusunan, kita boleh menggunakan kod mudah berikut:

$fileName = reset($_FILES['file']['name']);

Dalam kod di atas, fungsi reset() digunakan untuk menghalakan penuding ke tatasusunan Elemen pertama elemen dan mengembalikan nilai elemen, iaitu nama fail bagi fail pertama yang dimuat naik.

Ringkasnya, untuk mendapatkan nama fail fail yang dimuat naik dalam tatasusunan PHP, anda boleh menggunakan subskrip tatasusunan untuk mengakses atau menggelung melalui tatasusunan. Adalah perlu untuk memilih kaedah yang sesuai mengikut situasi sebenar untuk mendapatkan nama fail yang diperlukan dengan tepat.

Atas ialah kandungan terperinci Hanya ambil satu nama fail daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn