2014-01-07 5 views
1

Я пишу код, который позволяет пользователю загружать ZIP-файл. Когда они загружают файл, zip перемещается в нужное место на сервере. Все работает правильно.Удаление .zip-файла из каталога

Я создал кнопку, которая позволяет пользователю удалить загруженный файл. Когда кнопка нажимается, я использую ajax для вызова файла .php, в котором находится код unlink();.

Аякс Вызов

function delete_custom_pack() { 

       var phpfilepath = '/path/to/php/file/'; 

       //console.log(phpfilepath); 


        jQuery.ajax({ 
         method: 'get', 
         url: phpfilepath , 
         success: function() { 
         alert("successfully got file"); 
         }, 
         error: function() { 
         alert("error getting file");    
         } 

        }); 

      } 

PHP File

<?php 

$filename = 'http://www.some-site/wp-content/uploads/custom-folder/custom-pack/test.zip'; 

unlink($filename); 

?> 

я получаю предупреждение "успешно получил файл", но файл никогда не несвязанный на сервере. Он все еще находится в каталоге. Вызов вызова просто позволяет мне знать, что он успешно получил файл php. unlink($file); внутри моего PHP-файла, похоже, не выполняется.

+0

Что ваши журналы сказать? У вас, вероятно, нет разрешения. – user602525

+0

Отказ от использования ссылки URL, только путь – DNACode

+0

unlink возвращает TRUE при успешном завершении или FALSE при сбое. – Hackerman

ответ

7

unlink() берет путь, а не URL. Вы должны дать ему путь на сервере, например unlink('/var/www/mysite/files/upload.zip');

См unlink() documentation

+0

Интересно, позвольте мне рассказать об этом, посмотрим, что получится – EHerman

+1

Обратите внимание, что это не совсем так: «Начиная с PHP 5.0.0 unlink() также можно использовать с некоторыми оболочками URL. См. Поддерживаемые протоколы и Wrappers для списка, в которых обертки поддерживают unlink(). " (из документации php) –

+0

Очень интересно. Это объясняет, почему это не просто ошибка. Я не знал об этом изменении, и мне любопытно посмотреть, как это работает на практике. – Crashspeeder

Смежные вопросы