Ответ 1
В Laravel 4 есть метод удаления:
src/Illuminate/Filesystem/Filesystem.php
иначе просто используйте старые добрые unlink()
!?
Я использую laravel 4, и мне нужно изменить загруженное изображение, у меня оно есть:
Public
--uploads
---news
----id_news.jpg
При редактировании нового я хочу создать форму смены изображения, но как я могу удалить и загрузить другой файл. Я использую:
Input::file('img')->move('uploads/news', $id.'_news.jpg');
Проблема в том, что она не работает, она не заменяет файл, поэтому как я могу удалить изображение, чтобы снова загрузить его.
В laravel 3 я использовал только:
File::delete('path/to/file');
Но я ничего не вижу об удалении файлов в документах laravel.
В Laravel 4 есть метод удаления:
src/Illuminate/Filesystem/Filesystem.php
иначе просто используйте старые добрые unlink()
!?
Я думаю, вы должны добавить public_path() в имена файлов, чтобы получить реальный путь к файлу, например
File::delete(public_path().$id.'_news.jpg');
Вы можете легко сделать что-то вроде:
$filename = public_path().'/uploads/foo.bar';
if (File::exists($filename)) {
File::delete($filename);
}
Ссылка: Laravel-recipes Удалить файл
Другое использование удаления:
// Delete a single file
File::delete($filename);
// Delete multiple files
File::delete($file1, $file2, $file3);
// Delete an array of files
$files = array($file1, $file2);
File::delete($files);
Источник: http://laravel-recipes.com/recipes/133/deleting-a-file
$DestinationPath = 'загрузки/мой-image.jpeg';//из публики /
if (Файл:: существует ($ destinationPath)) {
File::delete($destinationPath);
}
Это работает на laravel 4.2.
File::delete(storage_path()."/ProductSalesReport-20150316.csv");
// Here are some other paths to directories laravel offers, Hope this
helps
/* Path to the 'app' folder */
echo app_path();
/* Path to the project root folder */
echo base_path();
/* Path to the 'public' folder */
echo public_path();
/* Path to the 'app/storage' folder */
echo storage_path();