Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.09.2017 00:03:29

Удаление папки или файла не работает

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
use App\Good;
use App\Image;

class testpost extends Controller
{
    //
    public function execute(Request $request){

    		$directory = "/Users/local/Desktop/111/2.png";
    		//unlink($directory);
    		dd(Storage::delete($directory));
    		//$status_delete_file=Storage::deleteDirectory($directory);

    }
}

Пытаюсь просто удалить вот файл "/Users/local/Desktop/111/2.png"
в итоге Storage ни сам файлик ни папку 111 целиком не удаляет, всегда возвращает false. А вот если использовать родной метод php unlink то без проблем сносит.
Те с правами точно нет заморочек, все делаю на локале да и unlink бы не работал. Что может быть?
Пробовал и в локальное хранилище складывать ну по пути storage/app/public тоже самое. Не могу понять.
-----------------
версия 5.4
PHP 7.1.1
filesystems.php
https://paste.laravel.io/f6ed6219-6200- … cd401387f5

.env
https://paste.laravel.io/f8ce9006-9c09- … 8f35570107

app.pjp
https://paste.laravel.io/1f17fce9-4480- … 22483ddc44

Изменено Normand (25.09.2017 00:05:15)

Не в сети

#2 27.09.2017 10:05:39

Re: Удаление папки или файла не работает

Storage работает не от корня файловой системы, все пути для него являются относительными от родительской папки, которая задаётся в настройках конкретного сториджа в config/filesystems.php

Не в сети

#3 27.09.2017 11:05:26

Re: Удаление папки или файла не работает

Storage работает не от корня файловой системы, все пути для него являются относительными от родительской папки, которая задаётся в настройках конкретного сториджа в config/filesystems.php

а чем отличается удаление по полному пути и не по полному. Вы мне уже 4 человек об этом говорите... и я вчера благополучно перписал все на локальное хранилище и доставание через симлинку, результат точно такой же: Storage не работает. Работает только File::

Не в сети

#4 27.09.2017 11:16:29

Re: Удаление папки или файла не работает

потому что Storage – это абстракция над операциями с файлами. файлы, с которыми он работает, могут находиться как локально так и удалённо, поэтому корнем для путей является та папка, которая настроена в config/filesystems.php. по умолчанию в установке ларавеля настроено два хранилища – одно local (используется по умолчанию) использует папку storage/app, второе – public в папке storage/app/public, оно может быть публично доступно через веб-сервер если выполнить команду php artisan storage:link – через симлинк в папке public. именно эти папки и являются корневыми для указанных хранилищ и через Storage можно получить доступ только к ним и вложенным в них папкам. если понадобится кластеризовать хранение файлов, использовать CDN или переехать в амазон – при условии что код работает с файлами только через Storage, это делается тупо изменением настроек в конфиге, в коде ничего менять не нужно. и это очень удобно, конечно же, для того оно и задумано так…

Не в сети

Подвал раздела