這是我在服務器上運行的代碼。我正在使用C++讀取一個.jpg localy文件,然後將它與SFML一起發佈到單個字符串中。由於內容長度與文件大小相同,因此該帖子顯然被服務器接收。但是,當寫入文件時,字符串似乎縮短爲只有276個字符。最後寫的字符是%,之後的字符應該是&(當在記事本++中打開文件時),因爲SFML不能以表單形式發佈文件,所以我必須這樣做。爲什麼在字符串肯定到達服務器時文件被切斷?PHP只將第一個276個字符寫入文件
$headers = apache_request_headers();
foreach ($headers as $header => $value)
{
if(strcmp(strtolower($header),"content-length")==0)
{
$length=intval($value);
echo $value;
}
}
$file=fopen("file".".txt","w");
fwrite($file,$_POST["file"],$length);
fclose($file);
替代PHP指數(也不起作用 - 沒有在發佈後沒有$ _FILES [ 「文件」]變量):http://pastebin.com/edP6VXCr
的C++代碼,我用它來發送:http://pastebin.com/uCaRe9X5
請檢查'回聲$ length'得到了同樣的答案爲'回聲$ value'和發佈的C的修訂本++程序源碼。另外,我不確定你的意思是「無法在表單中發佈文件」。 – 2013-05-05 18:07:56
所有三種長度都是相同的。我的意思是無法發佈文件:http://www.w3schools.com/php/php_file_upload.asp SFML顯然不能在提交內容時使用文件作爲字段。 – 2013-05-05 18:12:28