Ben, umarım, uzun bir ithalat işlemi sırasında bana biraz ilerleme vermek için ob_start()
/ ob_flush()
kullanıyorum.
İşte ben ne yapıyorum basit bir taslak olduğunu:
<?php
ob_start ();
echo "Connecting to download Inventory file.<br>";
$conn = ftp_connect($ftp_site) or die("Could not connect");
echo "Logging into site download Inventory file.<br>";
ftp_login($conn,$ftp_username,$ftp_password) or die("Bad login credentials for ". $ftp_site);
echo "Changing directory on download Inventory file.<br>";
ftp_chdir($conn,"INV") or die("could not change directory to INV");
// connection, local, remote, type, resume
$localname = "INV"."_".date("m")."_".date('d').".csv";
echo "Downloading Inventory file to:".$localname."<br>";
ob_flush();
flush();
sleep(5);
if (ftp_get($conn,$localname,"INV.csv",FTP_ASCII))
{
echo "New Inventory File Downloaded<br>";
$datapath = $localname;
ftp_close($conn);
} else {
ftp_close($conn);
die("There was a problem downloading the Inventory file.");
}
ob_flush();
flush();
sleep(5);
$csvfile = fopen($datapath, "r"); // open csv file
$x = 1;
// skip the header line
$line = fgetcsv($csvfile);
$y = (feof($csvfile) ? 2 : 5);
while ((!$debug) ? (!feof($csvfile)) : $x <= $y) {
$x++;
$line = fgetcsv($csvfile);
// do a lot of import stuff here with $line
ob_flush();
flush();
sleep(1);
}
fclose($csvfile); // important: close the file
ob_end_clean();
Ancak, hiçbir şey ekrana çıktı ediliyor.
Ben bunu konuyor dizin izlemek için veri dosyası indirilir oluyor biliyorum.
Ben DB izleyebilir ve kayıtları eklenir ediliyor çünkü ben de, bu süre içinde döngü, yani ithalat oluyor biliyoruz.
Herhangi Ben ekrana çıktı almıyorum neden olarak fikir?