如何删除 PHP 中的文件
How to delete file in PHP
我想删除 PHP 中特定目录中的文件。我怎样才能做到这一点?
我有以下代码,但它不会删除文件。
$files = array();
$dir = dir('files');
while ($file = $dir->read()) {
if ($file != '.' && $file != '..') {
$files[] = $file;
}
unlink($file);
}
我认为您的问题并不具体,此代码必须清除目录“files”中的所有文件。
但我认为该代码中存在一些错误,这是正确的代码:
$files= array();
$dir = dir('files');
while (($file = $dir->read()) !== false) { // You must supply a condition to avoid infinite looping
if ($file != '.' && $file != '..') {
$files[] = $file; // In this array you push the valid files in the provided directory, which are not (. , ..)
}
unlink('files/'.$file); // This must remove the file in the queue
}
最后确保您提供了正确的 dir() 路径。
您可以使用 glob
获取所有目录内容,并在取消链接之前使用 is_file()
检查该值是否为文件。
$files = glob('files/*'); // get directory contents
foreach ($files as $file) { // iterate files
// Check if file
if (is_file($file)) {
unlink($file); // delete file
}
}
如果要删除与 .png 或 .jpg 等格式匹配的文件,则必须使用
$files = glob('/tmp/*.{png,jpg}', GLOB_BRACE);
参见 glob 的手册。
我想删除 PHP 中特定目录中的文件。我怎样才能做到这一点? 我有以下代码,但它不会删除文件。
$files = array();
$dir = dir('files');
while ($file = $dir->read()) {
if ($file != '.' && $file != '..') {
$files[] = $file;
}
unlink($file);
}
我认为您的问题并不具体,此代码必须清除目录“files”中的所有文件。
但我认为该代码中存在一些错误,这是正确的代码:
$files= array();
$dir = dir('files');
while (($file = $dir->read()) !== false) { // You must supply a condition to avoid infinite looping
if ($file != '.' && $file != '..') {
$files[] = $file; // In this array you push the valid files in the provided directory, which are not (. , ..)
}
unlink('files/'.$file); // This must remove the file in the queue
}
最后确保您提供了正确的 dir() 路径。
您可以使用 glob
获取所有目录内容,并在取消链接之前使用 is_file()
检查该值是否为文件。
$files = glob('files/*'); // get directory contents
foreach ($files as $file) { // iterate files
// Check if file
if (is_file($file)) {
unlink($file); // delete file
}
}
如果要删除与 .png 或 .jpg 等格式匹配的文件,则必须使用
$files = glob('/tmp/*.{png,jpg}', GLOB_BRACE);
参见 glob 的手册。