Программирование сокета PHP переданного изображения повреждено - PullRequest
0 голосов
/ 19 июня 2011

У меня есть PHP клиент сокета , который передает image (BMP) серверу сокета

$host="127.0.0.1" ;
$port=8000;
$timeout=30;
$socket=fsockopen($host,$port,$errnum,$errstr,$timeout) ;


$bmp=file_get_contents("C:/Image.bmp");
$bytesWritten = fwrite($socket, $bmp);
fclose($socket);

Переданное изображение всегда испорченный и наполовину потоковый и выдающий сообщение об ошибке

Fatal error: Maximum execution time of 60 seconds exceeded 

я перехожу с localhost на localhost;) и у меня есть приложение ASP.NET , которое делает то же самое в миллисекундах!так почему бы не PHP ?почему это занимает много времени?

я думаю, что есть какая-то вещь, связанная с file_get_contents, которая создает большое BLOB имя, есть способ использовать FileStream в PHP?

есть идеи как передать файл без повреждения?

1 Ответ

1 голос
/ 19 июня 2011

file_get_contents возвращает строку. Я думаю, что вы хотите использовать fread вместо.

Пример:

$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...