Что такое PHP для C # ReadBytes (поток данных)? - PullRequest
1 голос
/ 18 июня 2010

Что такое PHP для C # (при условии, что мы открываем некоторый локальный (на сервере) файл вместо OpenFileDialog

        private const int HEADER_LENGTH = 13;
        stream = File.OpenRead(openFileDialog.FileName);
        header = ReadBytes(stream, HEADER_LENGTH);

И сможем ли мы сделать что-то подобное в PHP в качестве следующего шага

    private const byte SIGNATURE1 = 0x46;
    private const byte SIGNATURE2 = 0x4C;
    private const byte SIGNATURE3 = 0x56;
      if ((SIGNATURE1 != header[0]) || (SIGNATURE2 != header[1]) || (SIGNATURE3 != header[2]))
            throw new InvalidDataException("Not a valid FLV file!.");

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Хм, я думаю, что вы ищете что-то подобное

$handle = fopen(FILE, 'r');
if ($handle)
{
    $head = fread ( $handle , 13 );
    if ($head[0] != chr (0x46)) ...
    ...
}

Конечно, вы можете создать константы для этой подписи, но так:

define('SIG1', chr(0x46));

тогда вы можете использовать их как обычно: $head[0] == SIG1 и т. Д. Вы можете использовать функции при определении констант как для имен констант, так и для значений.

0 голосов
/ 18 июня 2010

Используйте fopen и fread :

$fh = fopen($filename, "r");
if ($fh) {
    $data = fread($fh, 13);
}

PHP поддерживает оператор [] для строк, поэтому вы сможете проверить подпись в основномтак же, как вы делали в C #.

...