Tôi có một tệp. nhưng bây giờ cần phải đọc tập tin này vào một mảng byte. Trong java hoặc C++ nó rất dễ dàng để làm điều đó. nhưng không tìm thấy cách tôi có thể đọc trong PHP.Đọc một Tệp vào một Byte Array (PHP)
Trả lời
Bạn có thể đọc các tập tin vào một chuỗi như thế này:
$data = file_get_contents("/tmp/some_file.txt");
Bạn có thể nhận tại các byte cá nhân tương tự như cách bạn sẽ trong C:
for($i = 0; $i < strlen($data); ++$i) {
$char = $data[$i];
echo "Byte $i: $char\n";
}
Tài liệu tham khảo:
Bạn có thể đọc các tập tin với một trong hai fread()
hoặc file_get_contents()
, sau đó chia nó với str_split()
:
$MyArray = str_split($file);
Xem PHP Manual on String access and modification by character
Nhân vật trong chuỗi s có thể được truy cập và sửa đổi bởi xác định độ lệch dựa trên số không của ký tự mong muốn sau chuỗi sử dụng các dấu ngoặc vuông, như trong
$str[42]
. Hãy nghĩ về một chuỗi như một mảng các ký tự cho mục đích này. Các chức năngsubstr()
vàsubstr_replace()
có thể được sử dụng khi bạn muốn trích xuất hoặc thay thế nhiều hơn 1 ký tự.
Hoặc, nếu bạn là sau khi tìm kiếm và đọc byte từ tập tin, bạn có thể sử dụng một SplFileObject
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
echo "$char\n";
}
Đó không phải là một mảng byte mặc dù, nhưng lặp lại trên một tập tin xử lý. SplFileInfo triển khai giao diện SeekableIterator.
Và trên một sidenote, cũng có
- file là - Trả về tập tin trong một mảng. Mỗi phần tử của mảng tương ứng với một dòng trong tệp, với dòng mới vẫn được đính kèm. Khi thất bại, file() trả về FALSE.
quá nhiều php>
$data = file_get_contents("/tmp/some_file.txt");
Cách tốt nhất để làm cho (không khuyến cáo trong cho đếm sử dụng, sizeof, strlen hoặc các chức năng khác): $counter = strlen($data); for($i = 0; $i < $counter; ++$i) { $char = data[$i]; echo "Byte $i: $char\n"; }
- 1. Java: Đọc một tệp pdf từ URL vào Byte array/ByteBuffer trong applet
- 2. Byte Array vào NSData
- 3. cách đọc byte theo byte từ một tệp
- 4. Có thể một Byte [] Array được ghi vào một tập tin trong C#?
- 5. PHP đọc tập tin như một mảng byte
- 6. đọc/ghi một đối tượng vào tệp
- 7. Java: Đọc một tệp vào một mảng
- 8. Đọc một Json Array trong android
- 9. Đọc một tệp Excel trong PHP
- 10. Đọc các byte đầu tiên của một tệp
- 11. Chuyển đổi Byte Array thành bit Array?
- 12. Scala: InputStream to Array [Byte]
- 13. Byte Array trong Python
- 14. Đọc một mảng C# byte trong Java
- 15. Đọc hai byte thành một số nguyên?
- 16. Đang tải Assembly Byte Array
- 17. Làm thế nào để điền vào một đối tượng trong PHP từ một Array
- 18. Cách tốt nhất để đọc một tệp lớn thành một mảng byte trong C#?
- 19. Chuyển đổi Byte Array thành Bitset
- 20. Ghi vào một tệp bằng Python chèn các byte rỗng
- 21. Overotobuf-net OverwriteList trên Byte Array
- 22. Nhập tệp XLSX vào một mảng PHP
- 23. sử dụng java.util.Scanner để đọc byte tệp theo byte
- 24. Đọc Http Yêu cầu vào mảng Byte
- 25. Cách đọc một trang web bằng PHP
- 26. Xử lý hình ảnh C++ - Đọc một tập tin hình ảnh vào 2D Array
- 27. Đọc đầu ra echo'ed từ một tệp PHP khác
- 28. Java - đọc từ một tệp. Đầu vào dòng vs đầu đọc
- 29. PHP đọc tệp cookie
- 30. Android: Cách đọc tệp theo byte?
Tôi nghĩ rằng có một typo. Nó phải là: '$ char = $ data [$ i]; ' –