我希望有人可以帮助我。 我正在从mysql DB的查询结果中创建一个文本文件。然后我将文件设置为自动下载。一旦完成,我试图取消链接文件。它无法从服务器中删除该文件。当我转到该位置并手动尝试删除该文件时,它表明它是写保护的。
我没有对此系统的root访问权限,因此我无法更改所述文件的权限。
这是代码,有没有办法不创建写保护文件?
$leagueinfo = $this->livedraft_win_model->get_leagueinfo($sport, $leagueid);
$export = $this->my_model->get_export($sport, $leagueid);
$file_name = $leagueinfo['strat_id'] . '.IOD';
$export=strip_quotes($export);
$export = str_replace(", ",",",$export);
write_file('/tmp/' . $file_name, $export,'x+');
$data = file_get_contents('/tmp/' . $file_name, FILE_BINARY);
ob_clean();
force_download($file_name, $data);
array_map('unlink', glob("/tmp/*.IOD"));
我使用相同的取消链接格式删除上传到同一位置的文件,并且工作得很好。只有当我尝试删除由codeigniter创建的文件时。 感谢
答案 0 :(得分:0)
请尝试使用以下代码。
$this->load->helper("url");
unlink(base_url('/tmp/' . $file_name));
或试试这个
delete_files('/tmp/' . $file_name);
有关详细信息,请阅读此文档。
https://ellislab.com/codeigniter/user-guide/helpers/file_helper.html