Tengo un archivo. pero ahora necesita leer este archivo en una matriz de bytes. En java o C++ es muy fácil hacer eso. pero no encontré cómo puedo leer en PHP.Leyendo un archivo en una matriz de bytes (PHP)
Respuesta
Usted puede leer el archivo en una cadena como esta:
$data = file_get_contents("/tmp/some_file.txt");
se puede conseguir en los bytes individuales similar a como lo haría en C:
for($i = 0; $i < strlen($data); ++$i) {
$char = $data[$i];
echo "Byte $i: $char\n";
}
Referencias:
Usted puede leer el archivo, ya sea con fread()
o file_get_contents()
, a continuación, se separaron con str_split()
:
$MyArray = str_split($file);
Ver las PHP Manual on String access and modification by character
caracteres dentro de la cadena s puede ser accedido y modificado por especificando el desplazamiento basado en cero del carácter deseado después de la cadena usando corchetes cuadrados, como en
$str[42]
. Piense en una cadena como una matriz de caracteres para este propósito. Las funcionessubstr()
ysubstr_replace()
se pueden usar cuando desee extraer o reemplazar más de 1 carácter.
O, si usted está después de buscar y leer los bytes del archivo, puede utilizar un SplFileObject
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
echo "$char\n";
}
Eso no es una matriz de bytes sin embargo, pero la iteración en un identificador de archivo. SplFileInfo implementa la interfaz SeekableIterator.
Y en una nota al margen, también
- file es - Devuelve el archivo en una matriz. Cada elemento de la matriz corresponde a una línea en el archivo, con la nueva línea todavía adjunta. En caso de error, file() devuelve FALSE.
demasiado php>
$data = file_get_contents("/tmp/some_file.txt");
mejor manera de hacer para (no recomendé en para el recuento de uso, sizeof, strlen u otras funciones): $counter = strlen($data); for($i = 0; $i < $counter; ++$i) { $char = data[$i]; echo "Byte $i: $char\n"; }
- 1. PHP leyendo un archivo csv efectivamente
- 2. PHP leyendo un archivo de cookie
- 3. Leyendo línea específica de un archivo en PHP
- 4. Cadena a matriz de bytes en php
- 5. Leyendo un archivo de texto en java
- 6. leyendo un archivo en python
- 7. Leyendo archivo en una estructura (C++)
- 8. Cómo convertir un entero a matriz de bytes en php
- 9. deserializar una matriz de bytes
- 10. Leyendo un archivo .pdb
- 11. Convertir matriz de bytes a matriz corta en C#
- 12. Leyendo un archivo zip dentro de un archivo jar
- 13. leyendo un archivo .bmp en C++
- 14. Convertir matriz de bytes a archivo wav
- 15. Abrir archivo de la matriz de bytes
- 16. Inserte una matriz de bytes en otra matriz de bytes en una posición específica con C#
- 17. Convertir una matriz de bytes a una clase que contiene una matriz de bytes en C#
- 18. JQuery.getJSON() leyendo un archivo local
- 19. Leyendo un archivo de texto y convirtiéndolo en una cadena
- 20. ¿Cómo convierto una matriz de bytes Java en una matriz de bytes Scala?
- 21. Cómo convertir una matriz de bytes en una matriz int?
- 22. Dividir una matriz de bytes en un delimitador
- 23. Leyendo un archivo grande línea por línea o almacenando sus líneas en una matriz
- 24. Diferencia entre una matriz de bytes y MemoryStream
- 25. Rompe un archivo CSS en una matriz con PHP
- 26. Java: ¿Cómo "recortar" una matriz de bytes?
- 27. ¿Descargue un archivo a través de HTTP en una matriz de bytes en C#?
- 28. Android: Leyendo del archivo (Openfileinput)
- 29. Qt - leyendo de un archivo de texto
- 30. Convertir una matriz de cadenas a matriz de bytes
Creo que hay una error de tipografía. Debe ser: '$ char = $ data [$ i];' –