我正在做一些csv解析,如果我在调用fclose()函数之前取消解析(通过导航到不同的页面或刷新),当我返回并再次启动程序时,我会得到以下错误:
Warning: unlink(spreadsheet.csv) [function.unlink]: Permission denied
当我尝试在excel中打开电子表格。csv文件时,我得到一个"文件在使用"错误,说"电子表格。csv被锁定编辑"另一个用户。'"我知道我的php服务器目前处于试图访问文件的状态。是否有一种方法,我可以使用php检查文件是否被锁定编辑,并解锁它?
你可以尝试用php像这样解锁一个文件:
$rFile = fopen("path/file.txt", "r+");
flock($rFile, LOCK_UN);
fclose($rFile);
对文件进行读写访问的最好方法是:
$iOldumask = umask(0);
chmod("path/file.txt", 0777);
umask($iOldumask);
看看flock()
我这样使用它:
if (!$file->flock(LOCK_EX)) {
throw new Exception('Unable to obtain lock on file');
}