【问题标题】:PHP image upload problemsPHP图片上传问题
【发布时间】:2016-01-04 11:33:51
【问题描述】:

我正在尝试创建一个网站,图片可以上传并保存到服务器的文件夹中。但是,代码不会超过第二个 if。有什么我想念的吗?提前致谢。

PHP:

if (isset($_FILES["file"]["name"])){
        if($_FILES['image']['error']==0){
            $file = $_FILES['image']['tmp_name'];
            $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
            $image_name= addslashes($_FILES['image']['name']);

            $newname = $erabiltzaile.".png"; 

            $target = 'irudiak/profile/users/'.$newname;
            move_uploaded_file( $_FILES['image']['name'], $target);

        }
    }else{
        $image=null;
        $image_name="";

    }

HTML:

<div id='igoera'>
<input name='image' id ='image' type='file' accept='image/png' onchange='loadFile(event)' /><br /><br />
<img width='300' id='preview'/><br>
</div>

【问题讨论】:

  • 如果你回显$_FILES['image']['error']会发生什么?

标签: php html image-uploading


【解决方案1】:

在您的情况下,您好像错过了input file name

if (isset($_FILES["image"]["name"])){

【讨论】:

  • 哦,是的 - 我错过了那个。按照目前的情况,它总是会返回 false。
  • 嗯...非常感谢,但它不起作用。我有更多详细信息以防万一。我无法让代码超过第一行,它似乎总是返回 false。我试过if (isset($_FILES["image"]["name"])){if (isset($_FILES["file"]["name"])){ 都没有成功。
  • var_dump($_FILES["image"]) 现在返回什么?
  • 感谢您的回答!它给了我一个错误(未定义的索引:图像)并返回 NULL。我猜图片没有正确找到:(
  • 检查你的loadFile函数是否有错误
【解决方案2】:

在手册中有一个关于文件上传http://php.net/manual/en/features.file-upload.php 的部分,其中显示了$_FILES 数组中错误变量的值。

成功上传应导致错误值为UPLOAD_ERR_OK

所以将第二个if 条件更改为:

if($_FILES['image']['error']=='UPLOAD_ERR_OK'){

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2014-05-10
    相关资源
    最近更新 更多