0
我目前不能使用flock
(服務器限制),所以我正在創建一個替代文件鎖定系統。這是我的代碼。同時執行腳本如果 - 否則問題
$dir = "C:\\wamp\\www\\test\\";
$files = scandir($dir);
for($i=0; $i<count($files); $i++)
{
if(substr(strrchr($files[$i],'.csv'),-4) == '.csv')
{
echo "File ".$files[$i]." is a csv"."</br>";
if (file_exists("$dir$files[$i].lock"))
{
echo $files[$i]." has lock in place"."</br>";
$i++;
}
else
{
if($file_handle = fopen("$dir$files[$i]", "rb"))
{
$file_lock_handle = fopen("$dir$files[$i].lock", "w");
echo "Setting Lock"."</br>";
//Do Logic
fclose($file_handle);
fclose($file_lock_handle);
sleep(3);
unlink("$dir$files[$i].lock");
}
}
}
else
{
//Do nothing
}
}
如果我並排運行這些腳本。它在執行第二個腳本之前等待第一個腳本完成。我怎樣才能同時運行它們?即如果存在鎖定,我希望它跳過該文件並轉到下一個文件。
非常感謝,正是我想要做的! – theking963