Чтение файла в массив байтов (PHP)

У меня есть один файл. но теперь должен считать этот файл в массив байтов. В Java или C++ очень легко сделать это. но не найденный, как я могу читать в PHP.

6
задан Valdas 12 April 2010 в 06:11
поделиться

4 ответа

См. Руководство PHP по доступу к строке и изменению с помощью символа

К символам в строке s можно получить доступ и изменить, указав с нуля смещение желаемого символа после строки в квадратных скобках массива, как в $ str [42] . Для этого подумайте о строке как о массиве символов. Функции substr () и substr_replace () могут использоваться, когда вы хотите извлечь или заменить более 1 символа.

Или, если вы после поиска и чтения байтов из файла, вы можете использовать SplFileObject

$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
    echo "$char\n";
}

Это не массив байтов, а итерация по дескриптору файла. SplFileInfo реализует интерфейс SeekableIterator .

И на полях, есть также

  • файл - возвращает файл в виде массива. Каждый элемент массива соответствует строке в файле с присоединенной новой строкой. В случае неудачи file () возвращает FALSE.
4
ответ дан 8 December 2019 в 12:58
поделиться

слишком много php>

$ data = file_get_contents ("/ tmp / some_file.txt");

лучший способ сделать для (не рекомендуется использовать count, sizeof, strlen или другие функции): { {1}} $ counter = strlen ($ data); for ($ i = 0; $ i <$ counter; ++ $ i) { $ char = data [ $ i]; echo "Byte $ i: $ char \ n"; }

2
ответ дан 8 December 2019 в 12:58
поделиться

Вы можете прочитать файл с помощью fread () или file_get_contents () , а затем разделить его с помощью str_split () :

$MyArray = str_split($file);
2
ответ дан 8 December 2019 в 12:58
поделиться

. Вы можете прочитать файл в строке следующим образом:

$data = file_get_contents("/tmp/some_file.txt");

Вы можете получить отдельные байты аналогично тому, как вы будет на C:

for($i = 0; $i < strlen($data); ++$i) {
    $char = $data[$i];
    echo "Byte $i: $char\n";
}

Ссылки:

10
ответ дан 8 December 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: