Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar fail kepada tatasusunan bait dalam PHP

Bagaimana untuk menukar fail kepada tatasusunan bait dalam PHP

PHPz
PHPzasal
2023-04-19 09:15:17858semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan Internet Prestasi cemerlang dan ciri yang mudah dipelajari telah menjadikannya bahasa pembangunan yang popular. Semasa proses pembangunan, kami selalunya perlu menukar fail kepada tatasusunan bait untuk memenuhi keperluan khusus.

Artikel ini akan memperkenalkan kaedah menukar fail kepada tatasusunan bait dalam PHP, dan menyediakan beberapa contoh kod praktikal untuk memudahkan pembangun bermula dengan cepat.

1. Gunakan fungsi file_get_contents

Dalam PHP, anda boleh menggunakan fungsi file_get_contents untuk membaca fail dengan mudah menjadi jenis rentetan dan kemudian menukarnya menjadi tatasusunan bait. Langkah khusus adalah seperti berikut:

  1. Gunakan file_get_contents untuk membaca fail

$file_path = 'file.txt';
$file_content = file_get_contents($file_path );

Dalam kod di atas, $file_path ialah laluan fail dan $file_content ialah kandungan fail baca.

  1. Tukar rentetan kepada tatasusunan bait

$byte_array = unpack('C*', $file_content);

Dalam kod di atas, Fungsi unpack menukar rentetan kepada tatasusunan bait. 'C' bermaksud aksara yang tidak ditandatangani, '' bermaksud memadankan semua aksara.

Kod lengkap adalah seperti berikut:

$file_path = 'file.txt';
$file_content = file_get_contents($file_path);
$byte_array = unpack('C *', $file_content);

Gunakan kod di atas untuk menukar fail kepada tatasusunan bait.

2. Gunakan fungsi fread

Selain menggunakan fungsi file_get_contents, kita juga boleh menggunakan fungsi fread untuk membaca fail sebagai tatasusunan bait. Langkah-langkah khusus adalah seperti berikut:

  1. Gunakan fungsi fopen untuk membuka pemegang fail

$file_path = 'file.txt';
$handle = fopen ($file_path, ' rb');

Dalam kod di atas, 'rb' bermaksud membuka fail dalam mod binari untuk mengelakkan penukaran yang tidak perlu semasa membaca fail binari.

  1. Baca kandungan fail dan tukarkannya menjadi tatasusunan bait

$byte_array = array();
while(!feof($handle)){

$byte = fread($handle, 1);
array_push($byte_array, ord($byte));

}
fclose($handle);

Dalam kod di atas, fungsi feof menentukan sama ada hujung fail dicapai dan fungsi fread membaca data binari daripada fail dan menukarkannya kepada Bait jenis aksara, fungsi ord boleh mengembalikan nilai kod ASCII aksara itu.

Kod lengkap adalah seperti berikut:

$file_path = 'file.txt';
$handle = fopen($file_path, 'rb');
$byte_array = array() ;
while(!feof($handle)){

$byte = fread($handle, 1);
array_push($byte_array, ord($byte));

}
fclose($handle);

Gunakan kod di atas untuk membaca fail ke dalam tatasusunan bait.

3. Contoh kod praktikal

Dalam pembangunan sebenar, kita perlu melakukan operasi yang berbeza pada fail, jadi pelaksanaan kod yang berbeza diperlukan. Beberapa contoh kod praktikal disediakan di bawah untuk rujukan pembangun.

  1. Kira nilai cincang fail

$file_path = 'file.txt';
$file_content = file_get_contents($file_path);
$hash_value = cincang ('sha256', $file_content);

Kod di atas menggunakan algoritma SHA-256 untuk mengira nilai cincangan fail Fungsi cincang boleh melakukan pengiraan cincang dengan mudah.

  1. Dapatkan maklumat lebar dan ketinggian fail imej

$file_path = 'image.png';
$handle = fopen($file_path , 'rb');
$byte_array = array();
while(!feof($handle)){

$byte = fread($handle, 1);
array_push($byte_array, ord($byte));

}
fclose($handle);
$image_info = getimagesize( $ file_path);
$width = $image_info[0];
$height = $image_info[1];

Kod di atas menggunakan fungsi getimagesize dalam pustaka fungsi PHP untuk mendapatkan imej dengan mudah maklumat lebar dan ketinggian fail.

  1. Tentukan jenis fail

$file_path = 'document.docx';
$finfo = new finfo(FILEINFO_MIME_TYPE);
$file_type = $ fiinfo ->file($file_path);
if($file_type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'){

echo '该文件为Word文件';

}

Di atas Kod menggunakan fungsi finfo dalam pustaka fungsi PHP untuk mendapatkan maklumat jenis MIME fail dengan mudah untuk menentukan jenis fail.

4. Ringkasan

Artikel ini memperkenalkan cara menukar fail kepada tatasusunan bait dalam PHP dan menyediakan beberapa contoh kod praktikal untuk rujukan pembangun. Dalam pembangunan sebenar, kita perlu memilih mengikut keperluan khusus dan menggunakan kaedah yang sesuai untuk penukaran fail. Pada masa yang sama, kami juga boleh menggunakan perpustakaan fungsi PHP lain, seperti SPL dan Pattern, untuk melaksanakan operasi dan pemprosesan fail.

Atas ialah kandungan terperinci Bagaimana untuk menukar fail kepada tatasusunan bait dalam 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