Xampp在多部分时不上传文件

时间:2012-03-18 21:48:48

标签: php file-upload upload xampp multipart

在Windows 7 64位上使用Xampp,使用多部分上传器。

正常上传(通过http post工作正常),但是使用multipart up文件所在的tmp文件夹是空的,所以调用移动它会失败,如:

  

无法将'E:\ xampp \ tmp \ php719B.tmp'移至'uploads / Recording-1'

代码上传确实可以在其他地方使用。

E:\ xampp \ tmp \为空,在xampp中搜索tmp文件时不会显示任何结果。

  1. 每个phpinfo()
    加载配置文件E:\ xampp \ php \ php.ini

  2. 根据php.ini,E:\ xampp \ tmp \是正确的tmp文件夹并启用了上传。

    ;;;;;;;;;;;;;;;;
    ; File Uploads ;
    ;;;;;;;;;;;;;;;;
    
    ; Whether to allow HTTP file uploads.
    file_uploads = On
    
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    upload_tmp_dir = "E:\xampp\tmp"
    
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 128M
    
  3. 文件较小,因此低于128M。

  4. 我对自己做错了什么感到茫然,为什么XAMPP正在丢失文件上传,或者如果它们没有丢失就把它们放在哪里。

    更新:固定。

    在这种情况下,脚本的目标上传文件夹需要完全限定(“E:/ xampp / php / tmp / uploads /”),而不是相对pathed :(“uploads”),我猜那个临时实际上只意味着请求的长度,因此为什么他们之后没有出现,因为他们被立即清理出来。

    这是工作代码:

    $toBasePath = "E:/xampp/php/tmp/uploads/";
    
    $file=$_FILES['Filedata'];
                $len = count($file['name']);
                echo("multipart found ".$len);
    
                for($k=0;$k<$len;$k++){
    
    
                    $target_path = $toBasePath .basename( $file['name'][$k]);               
                    if(move_uploaded_file($file['tmp_name'][$k], $target_path))
    

0 个答案:

没有答案