Laravel 5.3 照片上传与 plupload 目录相关的问题
Laravel 5.3 photo upload with plupload directory related issue
我最近将我的代码迁移到了 laravel。我在使用 laravel 的 plupload 上传文件时遇到了问题。在 pluploaded 文件在表单提交之前上传到服务器。上传文件成功后,文件路径放在隐藏的输入字段中。
我的上传代码如下。
public function photo(){
$target_file = "";
$this->target_dir = base_path() ."/uploads/";
if($_FILES['file']['name']){
$filename = AppUtils::get_new_filename($this->ext);
$filename = "photo_" . $filename;
$target_file = $this->target_dir . $filename;
move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
$photo = $this->target_dir . $filename;
echo $photo;
die();
}
else{
AppUtils::fail();
}
}
问题是没有在 $target_dir 中使用 base_path(),文件没有正确上传。但是使用 base_path() 预览图像不是实际位置。
例如,上传照片后输出将是 /var/www/htm/lar/uploads/xyz.jpg
但在预览图像路径中显示:http://example.com/lar/var/www/html/lar/uploads/xyz.jpg
试试这个:
public function photo(){
$target_file = "";
$this->target_dir = "/uploads/";
if($_FILES['file']['name']){
$filename = AppUtils::get_new_filename($this->ext);
$filename = "photo_" . $filename;
$target_file = base_path() . $this->target_dir . $filename;
move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
$photo = $this->target_dir . $filename;
echo $photo;
die();
}
else{
AppUtils::fail();
}
}
base_path()
只能用于上传位置。
我最近将我的代码迁移到了 laravel。我在使用 laravel 的 plupload 上传文件时遇到了问题。在 pluploaded 文件在表单提交之前上传到服务器。上传文件成功后,文件路径放在隐藏的输入字段中。 我的上传代码如下。
public function photo(){
$target_file = "";
$this->target_dir = base_path() ."/uploads/";
if($_FILES['file']['name']){
$filename = AppUtils::get_new_filename($this->ext);
$filename = "photo_" . $filename;
$target_file = $this->target_dir . $filename;
move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
$photo = $this->target_dir . $filename;
echo $photo;
die();
}
else{
AppUtils::fail();
}
}
问题是没有在 $target_dir 中使用 base_path(),文件没有正确上传。但是使用 base_path() 预览图像不是实际位置。
例如,上传照片后输出将是 /var/www/htm/lar/uploads/xyz.jpg
但在预览图像路径中显示:http://example.com/lar/var/www/html/lar/uploads/xyz.jpg
试试这个:
public function photo(){
$target_file = "";
$this->target_dir = "/uploads/";
if($_FILES['file']['name']){
$filename = AppUtils::get_new_filename($this->ext);
$filename = "photo_" . $filename;
$target_file = base_path() . $this->target_dir . $filename;
move_uploaded_file($_FILES['file']['tmp_name'],$target_file);
$photo = $this->target_dir . $filename;
echo $photo;
die();
}
else{
AppUtils::fail();
}
}
base_path()
只能用于上传位置。