繁体   English   中英

Laravel在其他文件夹中上传文件

[英]Laravel upload file in different folder

public function upload(Request $request){
    $user = User::findOrFail(auth()->user()->id);

    $filename =  time() . '.jpg';
    $filepath = public_path('uploads/');

    move_uploaded_file($_FILES['filename']['tmp_name'], $filepath.$filename);

    move_uploaded_file($_FILES['filename']['tmp_name'], public_path('uploads/newfolder').$filename);

    echo $filepath.$filename;
}

如何将同一张图片上传到不同的文件夹中。
我已经尝试了上面的代码,但在其他文件夹中不起作用。

您不能对同一文件运行两次move_uploaded_file ,因为顾名思义,它会移动文件,因此在第二次运行中,原始文件将不再存在。

您必须复制文件:

public function upload(Request $request){
    $user = User::findOrFail(auth()->user()->id);

    $filename =  time() . '.jpg';
    $filepath = public_path('uploads/');

    move_uploaded_file($_FILES['filename']['tmp_name'], $filepath.$filename);

    // Note that here, we are copying the destination of your moved file. 
    // If you try with the origin file, it won't work for the same reason.
    copy($filepath.$filename, public_path('uploads/newfolder').$filename);

    echo $filepath.$filename;
}

您应该尝试这样:

尝试将上传文件夹图像复制到新文件夹,例如:

use Illuminate\Support\Facades\File;

$imgUpload = File::copy(public_path().'/uploads/'. $filename, public_path().'/newfolder/'. $filename);
use Illuminate\Support\Facades\Storage;    
public function upload(Request $request){
     $filename =  time() . '.jpg';
     $filepath = public_path('uploads/newfolder/');
     $file      = $request->file( "filename" );
     Storage::putFileAs( $filepath, $file, $filename );
     echo Storage::url( 'uploads/newfolder/'.$filename );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM