Как правильно написать код,
чтобы файл удалялся
и правильно выводилось сообщения о работе функции.
Что бы не применять @@@
function bug_removal()
{
$file = "../books/".$_POST['hidden_lolo'];
if (@!unlink($file))
{
$error_unlink = "Ошибка в удалении рнр файла: $file<br/>";
}
else
{
$error_unlink = "Файл рнр: $file удалён<br/>";
}
return $error_unlink;
}
echo bug_removal ($_POST ['hidden_lolo']);
Спустя 5 минут, 50 секунд (21.10.2010 - 20:01) sergeiss написал(а):
А что, у тебя предубеждение против @? Это как раз тот случай, когда сия штуковина очень полезна будет.
Спустя 1 час, 2 минуты, 55 секунд (21.10.2010 - 21:04) linker написал(а):
Для этого случая и прочих подобных случаях
if (is_writeable($filename) && unlink($filename))
echo "Файл удален";
else
echo "Файл не может быть удален";
Спустя 16 часов, 51 минута, 47 секунд (22.10.2010 - 13:56) mihai написал(а):
sergeiss
да ну не нравится она мне тут
она закрывает что "такого файла нет"
а это не хоршо
нужно что бы говорила что "файла нет"
================================
linker
я не понимаю таки выражения
для меня это какой то бред
is_writeable()
Возвращает TRUE, если файл filename существует и доступен для записи.
unlink()
Возвращает TRUE в случае успешного удаления
Получается
если файл filename существует и доступен
и в то же время
обязательное условия что функция unlink() сработала и файла уже нет
то условие верно ?????????????????????
да ну не нравится она мне тут
она закрывает что "такого файла нет"
а это не хоршо
нужно что бы говорила что "файла нет"
================================
linker
я не понимаю таки выражения
для меня это какой то бред
is_writeable()
Возвращает TRUE, если файл filename существует и доступен для записи.
unlink()
Возвращает TRUE в случае успешного удаления
Получается
если файл filename существует и доступен
и в то же время
обязательное условия что функция unlink() сработала и файла уже нет
то условие верно ?????????????????????
if (is_writeable($filename) && unlink($filename))
echo "Файл удален";
else
echo "Файл не может быть удален";
Спустя 10 минут, 17 секунд (22.10.2010 - 14:06) Michael написал(а):
(is_writeable($filename) && unlink($filename))
параметры в условии тут проверяются слева направо, а не все сразу.
Сначала проверит что читаемый файл, и если читаемый, то пойдет дальше проверять(так как связано лигическим И (&&)) и второй командой удалит файл.
Спустя 19 минут, 53 секунды (22.10.2010 - 14:26) mihai написал(а):
Michael
аааа...
вот так.
и всё равно не понятно
я думал что:
если (это верно & И & это верно)
аааа...
вот так.
и всё равно не понятно
я думал что:
если (это верно & И & это верно)
Спустя 21 минута, 31 секунда (22.10.2010 - 14:48) Michael написал(а):
нет.
Например если OR
if (x OR y) {
// тело
}
проверит x, если x == истина, то дальше проверять и не станет, перейдет к выполнению "тела".
А если x==false, будет проверять дальше y.
Например если OR
if (x OR y) {
// тело
}
проверит x, если x == истина, то дальше проверять и не станет, перейдет к выполнению "тела".
А если x==false, будет проверять дальше y.
Спустя 6 минут, 38 секунд (22.10.2010 - 14:54) linker написал(а):
mihai
Сначала, проверяется можно ли писать в файл. Редактировать, удалять - это одно и тоже. Таким образом отбрасывается файл, который либо не существует, либо к нему не хватает прав на запись. Если условие выполняется, то идет собственно сама попытка удаления. Если файл удалился, то общее условие верное и печатается "Файл удален". Если какое-либо из условий не выполняется, то пишется "Файл не может быть удален".
Сначала, проверяется можно ли писать в файл. Редактировать, удалять - это одно и тоже. Таким образом отбрасывается файл, который либо не существует, либо к нему не хватает прав на запись. Если условие выполняется, то идет собственно сама попытка удаления. Если файл удалился, то общее условие верное и печатается "Файл удален". Если какое-либо из условий не выполняется, то пишется "Файл не может быть удален".
Спустя 6 часов, 6 минут, 2 секунды (22.10.2010 - 21:00) mihai написал(а):
Господа.
помогите написать нормальный код удаления
запапрился уже то удаляет, то не удаляет, то опять удаляет
принцип
нужно удалить соответвующий .txt файл $_POST['hidden_lolo']
нужно удалить фото и мини фото $_POST['hidden_fotoshop']
выкладываю весь код не хрена не выходит
unlink.php
помогите написать нормальный код удаления
запапрился уже то удаляет, то не удаляет, то опять удаляет
принцип
нужно удалить соответвующий .txt файл $_POST['hidden_lolo']
нужно удалить фото и мини фото $_POST['hidden_fotoshop']
выкладываю весь код не хрена не выходит
unlink.php
<?php
////////переменные прилетают это факт///////////
echo $_POST['hidden_lolo'];
echo $_POST['hidden_fotoshop'];
//удаляем .txt файл каталога
function bug_removal()
{
$file = "../books/".$_POST['hidden_lolo'];
if (is_writeable($file) && unlink($file))
{
echo "Файл $file удален";
}
else
{
echo "Ошибка в удалении .txt файла: $file<br/>";
}
return $error_unlink;
}
//удаляем большую картинку
function unlink_fotoshop()
{
$filefotoshop = "../books/fotoshop/".$_POST['hidden_fotoshop'];
if (is_writeable($filefotoshop) && unlink($filefotoshop))
{
echo "Фото $filefotoshop удалено";
}
else
{
echo "Ошибка в удалении рнр файла: $filefotoshop<br/>";
}
return $error_fotoshop;
}
//удаляем миникопию картинки
function unlink_minifotoshop()
{
$fileminifotoshop = "../books/minifotoshop/".$_POST['hidden_fotoshop'];
if (is_writeable($fileminifotoshop) && unlink($fileminifotoshop))
{
//возврашение и презагрузка страницы
echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=delet.php'>
</head></html>";
//////////////////или может лучше так////////////////////
//exit("Всё удалёно");
}
else
{
echo "Ошибка в удалении рнр файла: $fileminifotoshop<br/>";
}
return $error_minifotoshop;
}
?>
Спустя 10 часов, 54 минуты, 9 секунд (23.10.2010 - 07:55) Michael написал(а):
Вот эти:
поубирай.
Эти переменные не определены в их функциях;
return $error_unlink;
return $error_fotoshop;
return $error_minifotoshop;
поубирай.
Эти переменные не определены в их функциях;
Цитата (mihai) |
выкладываю весь код |
Не вижу вызова самих функций удаления. Где вызов bug_removal(); , ... ?
Спустя 3 часа, 42 минуты, 3 секунды (23.10.2010 - 11:37) mihai написал(а):
return ()
я вывожу текст который фунция возвращает
bug_removal()
а это что
.............................................
я тут литературку полистал
может вот так. да и всё
я вывожу текст который фунция возвращает
bug_removal()
а это что
.............................................
я тут литературку полистал
может вот так. да и всё
$file = "../books/".$_POST['hidden_lolo'];
if (file_exists('$file')
{
//удаляем txt файл
$file = "../books/".$_POST['hidden_lolo'];
unlink($file);
//удаляем фото к нему
$filefotoshop = "../books/fotoshop/".$_POST['hidden_fotoshop'];
unlink($filefotoshop);
//и всем будет счастье
}
Спустя 9 минут, 18 секунд (23.10.2010 - 11:46) Michael написал(а):
Делай уже лишь бы работало ...
Только так не верно:
надо:
вместо file_exists is_writable можно было бы использовать.
Только так не верно:
file_exists('$file')
надо:
file_exists($file)
вместо file_exists is_writable можно было бы использовать.