Я случайно создал файл без имени http://website.com/myFolder/.html
,
Теперь, в панели управления моего веб-хоста, этот файл не указан, я не могу увидеть или удалить его …
но я вижу это, используя это «MyList.php» файл: (http://website.com/myFolder/myList.php
):
<?php
echo "<ol>";
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo '<li><a href="'.$entry.'" target="_blank">'.$entry.'</a></li>';
}
}
closedir($handle);
}
echo "</ol>";
?>
это «MyList.php» file выводит все файлы, присутствующие в каталоге: http://website.com/folder/
также файл без имени http://website.com/myFolder/.html
Как я могу удалить этот файл?
Я пытался создать еще один .php файл с именем http://website.com/myFolder/myDelete.php
,
и использовать функцию PHP разъединить ():
<?php
$path = "../myFolder/.html";
if(file_exists($path)){
if (is_file($path)){
//unlink($path);
if (!unlink($file)){
echo ("Error deleting".$path);
}else{
echo ("Deleted".$path);
}
}
}
?>
Но это не работает.
$path = "../myFolder/.html";
if(file_exists($path)){
if (is_file($path)){
//unlink($path);
if (!unlink($file)){
^^^^^----undefined variable
Зачем все это, когда вы могли просто
unlink('.html');
? Ваш нежелательный файл находится в том же каталоге, что и ваш myDelete.php
сценарий, поэтому все остальное бессмысленно.
Файлы и каталоги, которые начинаются с .
считаются «скрытыми» в * nix системах. Вы можете увидеть их с ls -la
но не только ls
,
Попробуйте изменить $file
переменная, которая будет просто именем файла «.html». Обязательно используйте $file
переменная для удаления — это не определено в вашем примере.
$file = ".html";
if ( file_exists( $file ) ){
if ( ! unlink( $file ) ){
echo "Error deleting '$file'" );
} else{
echo "Deleted '$file'";
}
} else {
echo "File '$file' does not exist!";
}
В одном комментарии говорилось, что вы используете FTP, у вас должен быть FTP-доступ к вашему серверу, после чего вы можете просто удалить его через FTP.