我的视图中有这样的脚本
<form method="post" enctype="multipart/form-data" action="{{ URL::route('import.produk.post') }}">
<input type="file" name="import">
<button class="btn btn-primary form-button" type="submit">Save</button>
</form>
在我的控制器中我想显示文件路径
我们可以说该文件位于D:\Data\product.xlsx
中
我用这个脚本来做那个
public function postImportProduk() {
$input = Input::file('import')->getRealPath();;
var_dump($input);
}
但是它不显示输入文件的实际路径而是显示像此输出的临时文件
string(24) "C:\xampp\tmp\phpD745.tmp"
我尝试使用->getFilename()
显示临时文件名phpD745.tmp
但如果我使用->getClientOriginalName()
,则表明product.xlsx
我想知道如何获得文件真实路径
ps:我正在使用laravel 4.2
答案 0 :(得分:1)
上传后,文件将存储在临时目录中,并带有随机生成的名称。
现在您的服务器中已有该文件,您希望将其移动到您必须指定的某个特定文件夹。您的案例中的一个简单示例是:
public function postImportProduk() {
$input = Input::file('import');
$destinationPath = '/uploads/'; // path to save to, has to exist and be writeable
$filename = $input->getClientOriginalName(); // original name that it was uploaded with
$input->move($destinationPath,$fileName); // moving the file to specified dir with the original name
}
详细了解功能here。
答案 1 :(得分:1)