в laravel Загрузить изображение в две разные папки одновременно - PullRequest
0 голосов
/ 27 мая 2019

Этот код сохраняет изображение только в одной «папке-1». Я хочу загрузить изображение одновременно в двух разных папках, теперь оно сохраняется в папке one

пример

"папка одна"

и

"Папка-два"

<?php

namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Mail;
use Illuminate\Auth\Events\Registered;

class RegisterController extends Controller
{

use RegistersUsers;

protected $redirectTo = '/home';

public function __construct()
{
    $this->middleware('guest');
}

protected function validator(array $data)
{
    return Validator::make($data, [
       'photo_jpeg' => 'required|image|mimes:jpeg,png,jpg|max:2048',
    ]);
}

protected function create(array $data)
{
    $photo_jpeg= time() . '.' . $data['photo_jpeg']->getClientOriginalExtension();
    $data['photo_jpeg']->move(base_path() . 'public/folder-one', $photo_jpeg);

    return user::create([
        'photo_jpeg' => $photo_jpeg,
    ]);

}

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Используйте метод copy(), чтобы сделать копию файла в новом месте назначения.

$request->file('photo')->move($destination_path, $file_name); //original
copy($destination_path.$file_name, $new_path.$file_name); //backup
0 голосов
/ 27 мая 2019

Вы не можете запустить move() дважды для одного и того же файла, поскольку, как следует из названия, он перемещает файл, поэтому при втором запуске исходный файл больше не будет существовать.

Вы должныскопируйте файл:

$uploadPath = public_path('folder-one/');
$file = $data['photo_jpeg'];
$photo_jpeg= time() . '.' .$file->getClientOriginalExtension();
$file->move($uploadPath,$photo_jpeg);
\File::copy($uploadPath.$photo_jpeg,public_path('folder-two/').$photo_jpeg);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...