【问题标题】:How to check the photo is selected when try to upload a photo尝试上传照片时如何检查照片是否被选中
【发布时间】:2012-04-24 15:37:39
【问题描述】:

我制作了一个表格来上传文字和照片(*可选上传照片)。

这是我的代码:

<input type="text" name="firstname" />
<input type="file" name="userfile" id="file"/> 

问题是: 我如何检查用户是否上传/浏览/选择照片/文件??

我在控制器上的代码是这样的:

$data['name'] = $this->input->post('firstname',TRUE);
$data['photo'] = $this->input->post('userfile',TRUE);
if(!isset($data['photo'])){
echo "you not select a photo/file" ;
}else{
echo "you select a photo/file";
} 

但是,我发现了错误…… 如果我没有选择照片,则输出为“您选择照片/文件”;

如果我选择一张照片,输出是“你选择一张照片/文件”;

我认为错误是

  1. $data['photo'] = $this->input->post('userfile',TRUE);
  2. if(!isset($data['photo']))

请给我一个解决方案..谢谢,,,

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    尝试使用

    if(isset($_FILES['userfile']));
    

    【讨论】:

    • 感谢您的回复..那不行..我尝试使用 if(isset($_FILES['userfile']['name'])){ } 并且它有效...非常感谢很多,,,,
    • @Zulkifli说没问题。如果您的问题得到解决,您可能需要选择一个答案。
    【解决方案2】:

    尝试使用:

    if ( $_FILES['userfile']['error'] === 0 ) { }
    

    如果用户添加了一个文件并且从表单的角度来看一切正常,那将是正确的。也不要忘记在你的表单标签中使用enctype="multipart/form-data"

    【讨论】:

    • 谢谢...它有效...我尝试使用code if(isset($_FILES['userfile']['name'])){ } code 并且它有效。 ..非常感谢你,,,,
    • 你应该检查错误而不是名称,因为它可能有名称但仍未正确上传
    • sip...谢谢.. 现在我使用 if ( $_FILES['userfile']['error'] === 0 ) { }
    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多