我想刪除在本地主機中找到的文件。使用php/codeigniter刪除文件
localhost/project/folder/file_to_delete
我爲此使用codeigniter。
我想在php中使用unlink()函數,但我真的不明白如何使用它。
我想刪除在本地主機中找到的文件。使用php/codeigniter刪除文件
localhost/project/folder/file_to_delete
我爲此使用codeigniter。
我想在php中使用unlink()函數,但我真的不明白如何使用它。
您可以在笨使用 「文件幫手」。
http://codeigniter.com/user_guide/helpers/file_helper.html
像這樣:
$this->load->helper("file");
delete_files($path);
後期編輯:delete_files
方法使用的路徑通過unlink()
和你一樣可以CI內完成消滅所有的內容。像這樣:
unlink($path);
一個有效的路徑。
http://php.net/manual/en/function.unlink.php
這是理解的最好方式。 閱讀它!
$path_to_file = '/project/folder/file_to_delete';
if(unlink($path_to_file)) {
echo 'deleted successfully';
}
else {
echo 'errors occured;
}
它給出了一個錯誤;取消鏈接(本地主機/項目/ files_to_delete/f1.php)[function.unlink]:沒有這樣的文件或目錄 – Jetoox 2012-03-17 06:46:17
,如果它給你一個錯誤,你應該沉默像這樣'@unlink($文件路徑)' 但是,爲了確保該文件存在,在刪除之前使用[is_file函數](http://php.net/manual/en/function.is-file.php)。 – machineaddict 2013-03-14 14:34:55
$file = "test.txt";
if (!unlink($file))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $file");
}
此代碼還可以處理非空文件夾 - 只是在助手中使用它。
if (!function_exists('deleteDirectory')) {
function deleteDirectory($dir) {
if (!file_exists($dir)) return true;
if (!is_dir($dir) || is_link($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!deleteDirectory($dir . "/" . $item)) {
chmod($dir . "/" . $item, 0777);
if (!deleteDirectory($dir . "/" . $item)) return false;
};
}
return rmdir($dir);
}
}
刪除文件使用
unlink($file_name);
或刪除目錄,使用
rmdir($dir);
試試這個,這個工作對我來說:
unlink("./path/to/folder/file_name_do_delete");
例如:我把我的文件裏面上傳文件夾,這是outsi de應用程序文件夾和我的文件名是123.jpg。所以它應該是這樣的:
unlink("./uploads/123.jpg");
'delete_files($ path)'需要目錄路徑而不是文件路徑。我不確定那是否能完成這項工作。 – Aniket 2012-12-30 09:35:53
是的你是對的。我現在看起來它和'delete_files'功能使用遞歸'的unlink()'到指定的文件夾中刪除文件。這個問題的答案應該更新。 – 2012-12-30 11:55:48
幹得好:) 現在看起來很好。 – Aniket 2012-12-31 07:13:02