2012-04-03 83 views
0

我在这里看到关于这个问题的每一篇文章,但没有任何帮助。 我的问题是,如果文件大于1.5 MB,我的html表单不会将任何内容放入文件路径。例如,如果我上传正常大小的文件,它回显文件的临时路径, ,但如果我上传一个更大的文件(比如4MB)它只是显示我没有错误,但我可以看到服务器上的空文件。 我试图设置php.ini中的值并创建了所有正确值的.htacces文件,但没有任何帮助。上传大文件

我的代码是:

<form method="post" action="test2.php" enctype="multipart/form-data"> 
<div> 
<label for="upload">Select file</label> 
<input type="hidden" name="MAX_FILE_SIZE" value="1024000"> 
<input name="upload" type="file" /> 
<input type="submit" name="Submit" value="Upload" /> 
</div> 
</form> 


<?php 

    if (isset($_POST['Submit'])) { 
     if (!empty($_FILES['upload']['name'])) { 
     $ch = curl_init(); 
     $localfile = $_FILES['upload']['tmp_name']; 
     echo $localfile."</br></br>" ; 
     $fp = fopen($localfile, 'r'); 
     curl_setopt($ch, CURLOPT_URL, 'ftp://ans.projects.jce.ac.il/public_ftp/incoming/'.$_FILES['upload']['name']); 
     curl_setopt($ch, CURLOPT_USERPWD, "user:password"); 
     curl_setopt($ch, CURLOPT_TIMEOUT_MS, 0); 
     curl_setopt($ch, CURLOPT_UPLOAD, 1); 
     curl_setopt($ch, CURLOPT_INFILE, $fp); 
     curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile)); 
     curl_exec ($ch); 
     $error_no = curl_errno($ch); 
     curl_close ($ch); 
     if ($error_no == 0) { 
      $error = 'File uploaded succesfully.'; 
     } else { 
      $error = 'File upload error.'; 
     } 
} 

    else { 
      $error = 'Please select a file.'; 
     } 
} 
    echo $error; 
?> 
+0

您是否更改'upload_max_filesize'? – safarov 2012-04-03 08:50:41

+0

是的,我做到了100M – Dudipoli 2012-04-03 08:51:27

+0

尝试echo ini_get('upload_max_filesize')'或者查看phpinfo以查看是否真的发生了变化 – safarov 2012-04-03 08:53:08

回答

0

我找到了解决办法...这是该行:

<input type="hidden" name="MAX_FILE_SIZE" value="1024000"> 

一旦我删除它,它的工作。感谢大家的帮助