我正在使用以下 php 代码部分。目的是将图像文件从一台服务器发布到另一台服务器。只要文件小于~250k,它就可以完美且非常快速地工作。远远超过 250k,处理时间跃升至约 60 秒,并随着图像大小的增加而增加。
有任何想法吗?
谢谢!
约翰
$fileContents = file_get_contents($_FILES[$key]['tmp_name']);
$time = strtotime("now");
$body = "--f6sd54c2
Content-Disposition: form-data; name=\"id\"
Content-Length: " . strlen($id) . "
{$id}
--f6sd54c2
Content-Disposition: form-data; name=\"key\"
Content-Length: " . strlen("654t2bsr65t42czd13fvs6dry87") . "
654t2bsr65t42czd13fvs6dry87
--f6sd54c2
Content-Disposition: form-data; name=\"time\"
Content-Length: " . strlen($time) . "
{$time}
--f6sd54c2
Content-Disposition: form-data; name=\"photo\"; filename=\"photo.jpg\"
Content-Type: image/jpeg
Content-Length: " . strlen($fileContents) . "
{$fileContents}
--f6sd54c2--";
$headers = "POST /photos/process.php HTTP/1.1
Host: www.hostname.com
Keep-Alive: 300
Connection: keep-alive
Content-Type: multipart/form-data; boundary=f6sd54c2
Content-Length: " . strlen($body) . "
";
$fp = fsockopen("www.hostname.com", 80, $errno, $errstr);
if ($fp){
fwrite($fp, $headers . $body);
fclose($fp);
}