繁体   English   中英

无法上传多个文件,也不是is_upload_file

[英]Multiple File upload isn't working, nor is is_upload_file

我似乎无法使这件事正常进行,我会认为我拥有它,而其他事情将无法工作。 看一看...

我正在尝试上传多个文件,这是我的php,因为它总是显示文件存在问题,并且如果我删除is_uploaded_file ,它也不起作用。

include('image.php');
$image = new SimpleImage();

foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['name'][$i])) {
        $time = date("fYhis");
        $destination="./../img/treatments/" .$pageid. "/refimgs";
        $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs";
        $image->load($_FILES['ref']['name'][$i]);
        $image->save($destination . '/' .$time . $i . '.jpg');    
        $image->resizeToWidth(140); 
        $image->save($tdestination . '/' .$time . $i . '.jpg');

    }else{ echo "Possible file upload attack: ";
        echo "filename '". $_FILES['ref']['name'][$i] . "'.";
    }
}

您必须在is_uploaded_file函数中使用$_FILES['ref']['tmp_name'] 更新后的代码行如下所示:

include('image.php');
$image = new SimpleImage();
foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['tmp_name'][$i])) {
        $time = date("fYhis");
        $destination="./../img/treatments/" .$pageid. "/refimgs";
        $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs";
        $image->load($_FILES['ref']['name'][$i]);
        $image->save($destination . '/' .$time . $i . '.jpg');      
        $image->resizeToWidth(140);   
        $image->save($tdestination . '/' .$time . $i . '.jpg');

   }else{ echo "Possible file upload attack: ";
       echo "filename '". $_FILES['ref']['name'][$i] . "'.";
   }
}

注意:客户端计算机中文件的name在服务器上无效,您必须改用tmp_name 希望这可以帮助您解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM