上传大文件

时间:2012-04-03 08:48:02

标签: php

我在这里阅读了关于这个问题的所有帖子,但没有任何帮助。 我的问题是,如果文件大于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;  
?>

1 个答案:

答案 0 :(得分:0)

我找到了解决方案......就是那条线:

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

一旦我删除它就有效了。感谢大家的帮助