После повторной загрузки проекта laravel невозможно загрузить изображения, которые используют foler temp_uploads в папке public_html - PullRequest
0 голосов
/ 10 октября 2019

Фон

Мой веб-сайт в настоящее время работает, и он был размещен до пару месяцев назад, и все работало как надо, включая загрузку изображений. После добавления некоторых изменений пользовательского интерфейса проект был снова загружен. Внешний интерфейс работает нормально, а все остальные функции работают нормально. У меня есть несколько функций загрузки изображений, но только одна функция имеет временную загрузку файла в папку с именем temp_uploads , и, если загрузка файла прошла успешно, файл должен быть удален из папки. Пожалуйста, см. Код ниже.

if ($request->hasFile('thumbnail')){
    $file      = $request->thumbnail;
    $extention = $file->getClientOriginalExtension();
    $filename  = 'temp_234.'.$extention;
    $file->move('temp_upload', $filename);
    $path = asset('temp_upload/'.$filename);
    $kraken = new Kraken();
    $params = array(
        "file" => $path,
        "wait" => true,
        "resize" => array(
            "width" => 450,
            "height" => 450,
            "strategy" => "crop"
        )
    );
    $data = $kraken->upload($params);
    $imageName = time () . '.' . $request->thumbnail->getClientOriginalExtension();

    if($data['success'] == true){
        copy($data['kraked_url'], 'uploads/products_thumbnails/'.$imageName);
    }else{
        $path = ('uploads/products_thumbnails/'.$imageName) ;
        Image::make($request->thumbnail->getRealPath())->resize(450,450)->save($path) ;
    }
    $product -> thumbnail_file_name = $imageName ;
    File::delete('temp_upload', $filename);
}

$product -> save () ;
return back () -> with ( 'data' , [
        'message' => 'Product has been added' ,
        'class' => 'success'
    ] ) ;
}

Как вы можете видеть, изображения будут временно загружены в папку temp_upload Так что после повторной загрузки сайта, когда я пытаюсь загрузить изображения, выдается ошибка ниже.

error

Итак, как вы можете видеть, он говорит, что не может найти папку tmp . Но в моей структуре папок нет папки с именем tmp . Даже не в публичной папке. Также я не загружаю изображения временно в папку с именем tmp .

Технические характеристики

  • Laravel версия - 5.5.0 (Не обновлено до последней версии в новых модификациях пользовательского интерфейса)
  • Структура папки для папки temp_upload ( Разрешение - 775 )

                                                               public_html
                                                                        temp_upload
    

    Примечание Когда я вижу эту ошибку, я вижу, что изображение загружено в файл temp_upload.

Также обратите внимание, что я почти выполнил приведенные ниже опции

  • Очистил все кешей , добавив приведенный ниже код и выполнив его через url

      Route::get('/clear-cache', function() {
       Artisan::call('cache:clear');
       Artisan::call('config:clear');
       Artisan::call('config:cache');
       Artisan::call('view:clear');
       return 'DONE'; 
      });
    
  • Также прошел ряд связанных вопросов в потоке стека и github

Может ли кто-нибудь помочь мне в этом?

Спасибо

...