Kıvırmak devam etmeden önce bitirmek için nasıl php bekleyin yapabilirim?

2 Cevap php

Ben böyle bir şey yaparsam görünüyor

$file = fopen($filepath, "w");
$CR = curl_init();
curl_setopt($CR, CURLOPT_URL, $source_path);
curl_setopt($CR, CURLOPT_POST, 1);
curl_setopt($CR, CURLOPT_FAILONERROR, true);
curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($CR, CURLOPT_FILE, $file);
$result = curl_exec( $CR );
$error = curl_error( $CR );
print filesize($filepath);

Ben sadece çalıştırırsanız daha farklı bir sonuç elde

print filesize($filepath);

ikinci kez. Benim tahminim (bir dosya boyutu yaptığınızda kıvrılma hala) indirirken olmasıdır.

2 Cevap

Dosya boyutu () gibi fonksiyonlar kendi sonucunu önbelleğe unutmayın, yukarıdaki clearstatcache çağrısı () eklemeyi deneyin 'baskı dosya boyutu (...);'. İşte bir örnek:

$file = '/tmp/test12345';
file_put_contents($file, 'hello');
echo filesize($file), "\n";
file_put_contents($file, 'hello world, this is a test');
echo filesize($file), "\n";
clearstatcache();
echo filesize($file), "\n";

Www.php.net / clearstatcache görün

Well, I have the same problem. curl is supposed to be synchronous, but, depending on how you're using it, it's not synchronous.
If you call, after curl, a print, or echo, the content comes void. There's a strange delay. But I'll try this approach -

print_r(curls_getinfo($CR));

Tek adımda her şeyi yapıyor sorunu çözebilir.