首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php图片上传器

php图片上传器
EN

Stack Overflow用户
提问于 2011-04-16 11:19:07
回答 2查看 304关注 0票数 0

我有一个非常简单的照片上传器,需要一些提速。

首先,当页面加载时会出现回声,甚至在框中什么都没有?

代码语言:javascript
复制
if($_POST['upload']) {
     if($_FILES['image']['name'] == "")
     {
         #there's no file name return an error
         echo "\n<b>Please select a file to upload!\n</b>";
         exit;
     }
     #we have a filename, continue
}

#directory to upload to
$uploads = '/home/habbonow/public_html/other/quacked/photos';
$usruploads = 'photos';

#allowed file types
$type_array = array('image/gif','image/pjpeg','image/x-png');

if(!in_array($_FILES['image']['type'], $type_array))
{
    #the type of the file is not in the list we want to allow
    echo "\n<b>That file type is not allowed!\n</b>";
    exit;
}

页面输出显示上传框,但也回覆“不允许文件类型!”即使我还没按下按钮。

第二,jpg的mime类型是什么,因为我有jpeg和pjpeg。

谢谢,任何帮助都感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-16 11:38:04

我还建议将所有内容都放在POST块中,否则不管加载什么内容,都会在加载页面时对其进行评估。

对于mimetype,有一个方法类型,它允许您传入一个表示给定文件类型的常量,并返回适当的mimetype,例如:

代码语言:javascript
复制
$type_array = array(image_type_to_mime_type(), image_type_to_mime_type(IMAGETYPE_GIF), image_type_to_mime_type(IMAGETYPE_PNG), 'image/pjpeg');

(因为pjpeg没有它自己的常量,所以我们可以手动添加它)

票数 1
EN

Stack Overflow用户

发布于 2011-04-16 11:32:06

如果您还没有提交表单,我认为,因为$_FILES‘映像’将不存在,所以!内联调用很可能返回false。

为此,我很想把整件事放在第一个if声明中:

代码语言:javascript
复制
if($_POST['upload']) {
     if($_FILES['image']['name'] == "")
     {
         #there's no file name return an error
         echo "\n<b>Please select a file to upload!\n</b>";
         exit;
     }
     #we have a filename, continue


     #directory to upload to
     $uploads = '/home/habbonow/public_html/other/quacked/photos';
     $usruploads = 'photos';

     #allowed file types
     $type_array = array('image/gif','image/pjpeg','image/x-png');

     if(!in_array($_FILES['image']['type'], $type_array))
     {
         #the type of the file is not in the list we want to allow
         echo "\n<b>That file type is not allowed!\n</b>";
         exit;
     }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5686119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档