¿Qué función PHP usar para leer un archivo binario en una cadena?¿Qué función PHP usar para leer un archivo binario en una cadena?
10
A
Respuesta
0
Pruébalo
$handle = @fopen("/path/to/file.bin", "r");
if ($handle) {
while (!feof($handle)) {
$buffer[] = fgets($handle, 400);
}
fclose($handle);
$buffer[0][0] = chr(hexdec("FF")); // set the first byte to 0xFF
}
// convert array to string
14
Está buscando la función fread
.
fread - archivo binario seguro leer
Ejemplo:
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
Nota:
En los sistemas que diferencian entre binaria y archivos de texto (es decir Windows) el archivo se debe abrir con 'b' incluido en el parámetro de modo fopen().
+1
El bit importante aquí es el indicador 'b' en fopen(). –
9
file_get_contents
es lo suficientemente bueno. Parece que lee archivos en modo binario. He hecho un pequeño script PHP para verificar esto. No se produjeron mensajes MISMATCH.
<?php
foreach (glob('/usr/bin/*') as $binary) {
$php = md5(file_get_contents($binary));
$shell = shell_exec("md5sum $binary");
if ($php != preg_replace('/ .*/s', '', $shell)) {
echo 'MISMATCH', PHP_EOL;
}
else {
echo 'MATCH', PHP_EOL;
}
echo $php, ' ', $binary, PHP_EOL;
echo $shell, PHP_EOL;
}
La siguiente nota es de manual:
Nota: Esta función es binario seguro.
Cuestiones relacionadas
- 1. leer un archivo binario (pitón)
- 2. archivo binario a cadena
- 3. ¿Cómo se puede leer el contenido de un archivo binario en una cadena en Clojure?
- 4. Bash Script - Leer archivo binario
- 5. PHP buscando una cadena en un archivo
- 6. ¿Cómo leer el archivo binario en C#?
- 7. Leer datos estructurados del archivo binario -?
- 8. Lee un archivo binario en una matriz
- 9. PHP LZW binario descompresión Función
- 10. Manera con menos memoria para leer un archivo en PHP
- 11. Modo de archivo para crear + leer + anexar + binario
- 12. ¿Puede Fortran leer los bytes directamente desde un archivo binario?
- 13. Función eficiente para leer un archivo delimitado en DataTable
- 14. ¿Cómo leer un archivo en una cadena en java?
- 15. Convertir archivo PHP a binario
- 16. Uso LEER BINARIO para leer más de 256 bytes
- 17. Lea el archivo binario en una estructura
- 18. ¿Qué significa \ x00 en el archivo binario?
- 19. Directamente leer archivo binario grande en C# w/a copiar
- 20. ¿Hay una línea para leer en un archivo en una cadena en C++?
- 21. Envío de un archivo binario en Tornado
- 22. Lea el archivo binario como una cadena en Ruby
- 23. ¿Cuál es el mejor método para leer un doble de un archivo binario creado en C?
- 24. ¿Puedo leer un archivo .TXT con PHP?
- 25. Guardar una cadena de Base64 en el disco como un binario usando PHP
- 26. Usar una cadena para llamar a la función en Python
- 27. PowerShell: cómo evaluar una cadena leer desde un archivo
- 28. Leer un archivo de texto con php
- 29. lectura en un archivo binario en Haskell
- 30. cómo leer una cadena de un archivo \ n delimitado
¿por qué establecer el primer byte en 0xFF? –
En Windows, este código tratará los archivos como texto sin formato y posiblemente corromperá el contenido que lea. –
Gracias a Shakti Singh y Álvaro G. Vicario –