2013-04-11 64 views
0

我有一个页面,其中有一个表单,用户可以上传图像来替换他现有的头像。Laravel3:如何检查是否有文件上传

但是,如果用户提交表单而没有上传图像,我不会更新他的头像,用户可以保留他的旧头像。

这是一个更新的问题,所以我需要在伪代码是这样的:

if (Input::has_uploaded_file() === true) 
    //User uploaded something, update avatar column/remove old avatar etc. 
else 
    //User didn't upload anything so don't update avatar column 

我只需要在第一线,虽然。

任何人都可以帮忙吗?我在文档中找不到太多内容。

回答

3

如果Input::has_file('name')不为你工作,那么你可以使用它在做什么,这样相当于...

if (Input::file('name.tmp_name', '') != '') 

laravel/input.php

+0

解决了我的问题。谢谢。 – Aristona 2013-04-11 00:36:29

+0

哇,输入:: has_file工程版本3.2.13。 – 2013-04-11 00:47:05

0

我读laravel源代码,我认为它这样:

Input::has_file('input_name'); 

如果不是,请尝试使用原生的PHP:

$_FILES['input_name']['error'] = UPLOAD_ERR_NO_FILE; 

或者同上面laravel:

$i = Input::file('input_name'); 

$i['error'] = UPLOAD_ERR_NO_FILE; 

上面的代码是检查用户是否将上传表单留空。

+0

两者不工作。无论如何,它总是通过这些检查。 – Aristona 2013-04-11 00:27:03

+0

UPLOAD_ERR_NO_FILE表示用户将表单留空。见http://php.net/manual/en/features.file-upload.errors.php – 2013-04-11 00:38:36

相关问题