0

サーバーに大きなファイルを読み込めません。問題は、ファイル $_FILES["filename"]["tmp_name"]が2MBより少し大きい場合、ファイルが空になることです。php.iniの変数を変更しようとしました

upload_max_filesize = 700M

post_max_size = 16M

しかし、働いていません。また、この変数を.httaccessファイルに追加しようとしましたが、500エラーが表示されます。

Error code while uploading=1.
UPLOAD_ERR_INI_SIZE 

Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.

これが私のuppload.phpページです、私が間違っていることを答えてください?ありがとう!

<?php
    if(strlen($_FILES["filename"]["name"]))
    {
        $folder = "uploads/";
        echo $folder;
        $error = "";
        if($_FILES["filename"]["size"] > 1024*700*1024)
        {
            $error .= "<b><p class=ErrorMessage>Размер файла превышает 5Mb</p></b><br>";
            header("Location: upload.php?error=".$error, true, 303 );
        }
        if(!file_exists($folder.="hh/"))
        {
            if(!mkdir($folder, 0700))
                $error .= "<b><p class=ErrorMessage>Folder not created</p></b><br>";
        }
        //echo "<br>".$_FILES["filename"]["tmp_name"]."<br>";
        echo $folder.$_FILES["filename"]["name"]."<br>";
        echo $_FILES["filename"]["error"]."<br>";
        if(move_uploaded_file($_FILES["filename"]["tmp_name"], $folder.$_FILES["filename"]["name"]))
        {
            echo("Файл успешно загружен <br>");
            echo("Характеристики файла: <br>");
            echo("Имя файла: ");
            echo($_FILES["filename"]["name"]);
            echo("<br>Размер файла: ");
            echo($_FILES["filename"]["size"]);
            echo("<br>Каталог для загрузки: ");
            echo($folder.=$_FILES["filename"]["name"]);
            echo("<br>Тип файла: ");
            echo($_FILES["filename"]["type"]);
        } 
        else 
        {
            $error .= "<b><p class=ErrorMessage>Ошибка загрузки файла</p></b><br>";
        }
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>

<body>
        <?php 
            if(isset($_REQUEST["error"]))
            {
                echo $_REQUEST["error"];    
            }
        ?>
      <h2><p><b> Форма для загрузки файлов </b></p></h2>
      <form action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="filename" READONLY><br> 
      <input name="Upload" type="submit" value="Upload"><br>
      </form>


</body>

</html>
4

3 に答える 3

3

設定が正しい場合は、phpinfo.php を使用して php 設定を確認してください。そうすれば、何をすべきかが正確にわかります。

もう 1 つ、現在のユーザーが /tmp ディレクトリに書き込み可能であることを確認してください。

于 2010-12-26T16:00:44.080 に答える
3

php.ini が無視されている可能性があります。これを PHP から呼び出してみてください。

ini_set('upload_max_filesize', '700M');
ini_set('post_max_size', '16M');

または .htaccess 経由

php_value upload_max_filesize 700M
php_value post_max_size 16M
于 2010-12-26T16:04:09.693 に答える
2

php.ini でこれらの値を増やしてみてください

メモリ制限 = 99M

最大実行時間 = 300

upload_max_filesize = 20M

post_max_size = 24M

于 2013-10-23T12:21:07.927 に答える