Php 使用class Storage Laravel 5.2上载文件/图像

Php 使用class Storage Laravel 5.2上载文件/图像,php,image,laravel,laravel-5,Php,Image,Laravel,Laravel 5,首先,我很抱歉我的英语不好 我想使用classStorage将文件/图像从驱动程序上载到项目目录。我希望每个文件/图像都能上传/移动到我的public/img目录。我在视图和post控制器上使用Form::file('img'),我写了这个 $img = Input::file('img'); if ($img !== null) { $filename = $img->getClientOriginalName(); Storage:

首先,我很抱歉我的英语不好

我想使用class
Storage
将文件/图像从驱动程序上载到项目目录。我希望每个文件/图像都能上传/移动到我的
public/img
目录。我在视图和post控制器上使用
Form::file('img')
,我写了这个

 $img = Input::file('img');
    if ($img !== null) {
        $filename       = $img->getClientOriginalName();
        Storage::disk('uploads')->put('filename', $filename);

        $jenis->img     = $filename;  
    }
'uploads' => [
        'driver' => 'local',
        'root'   => public_path() . '/img',
    ],
在我的
config/filesystem
中,我写了这个

 $img = Input::file('img');
    if ($img !== null) {
        $filename       = $img->getClientOriginalName();
        Storage::disk('uploads')->put('filename', $filename);

        $jenis->img     = $filename;  
    }
'uploads' => [
        'driver' => 'local',
        'root'   => public_path() . '/img',
    ],
但是,在我的
public/img
目录上没有发生任何事情,那里没有新的文件/图像。 你能帮我一下我的密码有什么问题吗?
我希望你们能帮我用另一种好方法在laravel中上传文件/图像看起来你的问题是你没有存储文件,你引用的是文件名而不是内容

试试这个:

Storage::disk('uploads') -> put($filename, file_get_contents($img -> getRealPath()));

在文件系统文件中,我以以下方式配置映像目录:

'uploads' => [
    'driver' => 'local',
    'root'   => public_path("/img"),
],
我认为你可以用你的方式,但这是另一点

要从视图中获取文件,应使用file::get Laravel函数:

$filename = $img->getClientOriginalName();
Storage::disk('uploads')->put($filename, \File::get($file));

这样就足够了,您可以使用文件系统中指定的目录中上载的文件名保存该文件。

需要帮助,谢谢它能工作,但我真的不知道在该put()上发生了什么。你能给我解释一下吗?Thanks@DarmaKurniawanHarefa传递给
put
的第一个参数是文件的完整路径(因为您已经在配置中设置了默认文件夹,如果不想将其放在子文件夹中,则可以将其作为文件名)。第二个参数是文件的内容。因此,使用php
file\u get\u contents
函数,您将文件的内容传递到存储
put
方法。输入文件上的
getRealPath
方法传递已上载到服务器的临时文件的真实路径。完美!谢谢:谢谢,但是班级档案对我不起作用。需要定义/使用文件类吗?这不是必需的,但请尝试以这种方式定义:'use illumb/Contracts/Filesystem/Filesystem'。无论如何,laravel显示了什么错误?\File::get($File);那是文件还是img?
    if ($request->hasFile('original_pic')) {
            $original_pic = $request->file('original_pic');

            $file_extension=$original_pic>getClientOriginalExtension();
            $filename = time() . '.' . $file_extension;

            # upload original image
            Storage::put('ArticlesImages/' . $filename, (string) file_get_contents($original_pic), 'public');

            # croped image from request.
            $image_parts = explode(";base64,", $request->input('article_image'));
            $image_base64 = base64_decode($image_parts[1]);

            Storage::put('ArticlesImages/croped/' . $filename, (string) $image_base64, 'public');

            # get image from s3 or local storage.
            $image_get = Storage::get('ArticlesImages/croped/' . $filename);

            # resize 50 by 50 1x
            $image_50_50 = Image::make($image_get)
                    ->resize(340, 227)
                    ->encode($file_extension, 80);

            Storage::put('ArticlesImages/1x/' . $filename, (string) $image_50_50, 'public');

            $file_url = Storage::url('ArticlesImages/croped/' . $filename);

            return response()->json(['success' => true, 'filename' => $filename, 'file_url' => $file_url], 200);
        }