Задать вопрос
@Us59

Почему unlink не удаляет файл?

У меня есть cURL, после завершения хочу удалять файл куки:
unlink(__DIR__ . '/cookie_' . $num["Id"] . '.txt');


Скрипт завершается без ошибок, все отрабатывает, но файл так и остается. Создал отдельную функцию и протестировал именно unlink - работает, т.е. сам путь к файлу указывается правильно итд.
Предупреждений в логе не наблюдаю.
  • Вопрос задан
  • 959 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@alekssamos
Программист любитель
CURL сначала закрой, а уже после его закрытия удаляй.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Us59,
if(is_file(__DIR__ . '/cookie_' . $num["Id"] . '.txt')){
echo 'ok, fine, thats really is file...';
}else{
echo 'F*ck! It was not right path, look, dumb boy: '.print_r(__DIR__ . '/cookie_' . $num["Id"] . '.txt',1);
}

if(is_writable(__DIR__ . '/cookie_' . $num["Id"] . '.txt')){
echo 'ok, fine, i have rights to this file...';
}else{
echo 'F*ck! Not enought rights... So sad...';
}
....
Ответ написан
@Us59 Автор вопроса
Вот часть cURL ф-ции:
$result = curl_exec($ch);
            $info = curl_getinfo($ch);

            if ($info["http_code"] == 200) {
                $array = array();
                $array[] = array(
                    '123' => '456',
                );
            }
            unlink(__DIR__ . '/cookie_' . $num["Id"] . '.txt');
            curl_close($ch);
        }
        return $array;
     ?>


return отрабатывает.
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Самый тупой прямолинейный затратный по ресурсам способ, для проверки:
echo(shell_exec("rm -f ".escapeshellcmd(__DIR__."/cookie_".$num["Id"].".txt")." 2>&1"));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы