Laravel 4.2上传文件成功,但在我使用时未找到
文件已成功上传到我已指定的目录中,但是当我想显示它时,它返回未找到,但如果我将其更改为同一目录中的其他文件名,则会显示该文件。怎么了?
这是我的代码:
应用程序/服务/ CommonProvider.php
<?php
class CommonProvider{
# simple class to provide static common functions
public static function uploadFiles($filename,$name,$location = 'img/'){
if(Input::hasFile($name)){
$filename .= '.'.Input::file($name)->getClientOriginalExtension();
$filename = $location . $filename;
if(Input::file($name)->move($location, $filename))
return $filename;
return false;
}
return false;
}
}
这是来自 app / services / UserProvider.php <的 updateUser 方法(例如) / p>
public function updateUser($input, $user_id) {
$validation_messages = $this->validateUser(Input::all(), false);
if ($validation_messages !== true) return $validation_messages;
try {
$insert = $this->user->find($user_id);
$insert->access_level = $input['access_level'];
$insert->email = $input['email'];
$insert->name = $input['name'];
$insert->mobile_no = $input['mobile_no'];
if ($input['password'] != '') $insert->password = Hash::make($input['password']);
if (!isset($input['active_status'])) $insert->active_status = 0;
$insert->save();
$filename = CommonProvider::uploadFiles($insert->id, 'user_image', 'img/user_images/');
if ($filename) {
$insert->user_image = $filename;
}
$insert->save();
return true;
}
catch(Exception $e) {
dd($e);
return false;
}
}
我想念什么?
答案 0 :(得分:1)
移动文件时不应添加文件名路径(可以在想要检索文件时添加)。
$filename = $location . $filename; // remove this line
我认为您需要添加绝对路径,以便准确了解上传文件的移动位置。
在此代码中,我添加了public_path()
$abslocation = public_path() . '/'. $location;
if(Input::file($name)->move($abslocation, $filename))
return $location . $filename;