PHP soru (Perl 10 yıl sonra PHP yeni, arrggghhh!).
Ben başka bir sunucuya göndermek istediğiniz bir 100mb dosya var.
Ben dosyayı okumak ve "post" bu kıvrılma olmadan (bu uygulama için kıvırmak kullanamazsınız) başardı. Her şey küçük dosyalar üzerinde iyi çalışıyor.
Ancak, büyük dosyalarla, PHP bellek tahsis edememekten yakınıyor.
Hattı ile bir dosya, satır açın ve satır AYRICA satır bir yazı olarak göndermek için bir yolu var mı?
Bu şekilde hiçbir şey ram böylece benim hataların önlenmesi ve çevresinde sıkı sınırlamalar oluyor tutulur.
Chris
İşte bu büyük dosyalarda hatalar benim geçerli kod:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
$resp = do_post_request("/local/file.txt","http://www.mysite.com/receivedata.php");
exit;
function do_post_request($file,$url){
$fileHandle = fopen($file, "rb");
$fileContents = stream_get_contents($fileHandle);
fclose($fileHandle);
$params = array(
'http' => array
(
'method' => 'POST',
'header'=>"Content-Type: multipart/form-data\r\n",
'content' => $fileContents
)
);
$ctx = stream_context_create($params);
$fp = fopen($url, 'rb', false, $ctx);
$response = stream_get_contents($fp);
return $response;
}
?>