2010-06-18 38 views
1

什麼是PHP的C#(asuming我們打開一些地方(在服務器上)文件,而不是打開文件對話框什麼是PHP的C#ReadBytes(流長度)?

 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!."); 

回答

1

嗯,我覺得你看起來類似的東西

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

當然,你可以爲這個簽名創建常量,但這種方式:

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

,那麼你可以使用它們作爲正常: $head[0] == SIG1等。您可以在定義常量時使用函數,用於常量名稱和值。

+0

說到類常量,它們的定義類似於你的代碼http://pl.php.net/manual/en/language.oop5.constants.php – 2010-06-18 14:20:19

0

使用fopenfread

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

PHP支持對字符串的[] - 運算符,這樣你就可以validat e的簽名與C#中的簽名基本相同。