2011-12-18 19 views
0

私はファイルをアップロードするには、次のHTMLを持っている:

<?php 
    echo "<pre>"; 
    var_dump($_FILES); 
    echo "<br />"; 
    var_dump($_POST); 
    echo "</pre>"; 
?> 

<form method="POST" ENCTYPE="multipart/form-data"> 
    <table border=0 cellspacing=0 cellpadding=0 width="100%"> 
     <tr> 
      <td> 
       Selecteer een bestand:* 
      </td> 
      <td> 
       <input type="file" name="file" /> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <input style="font-size: 10pt; cursor: hand;" type="submit" name="insturen" value="Insturen"> 
       <input style="font-size: 10pt; cursor: hand;" type="submit" name="klaar" value="Klaar met Uploaden"> 
      </td> 
     </tr> 
    </table> 
</form> 

ファイルは190キロバイトのようなものです全く問題はありません。しかし、ファイルが大きくなると(例えば20MB)、$_POST$_FILESの配列は完全に空になります。私が見つけた解決策の

一つは、php.iniファイル変更された:

max_execution_time = 3000 
max_input_time = 3000 
memory_limit = 1024M 
upload_max_filesize = 1024M 
post_max_size = 1024M 

をこれは助けにはならなかったので、私はのは、.htaccessファイルを変更してみましょうと思った:

#set php upload values 
php_value upload_max_filesize 1024M 
php_value post_max_size 1024M 
php_value max_execution_time 3000 

このどちらも仕事をしなかった。このサーバーはIIS 7.5で動作するため、私はすでにmaxRequestLengthmaxAllowedContentLengthを正しい値に設定しています。

誰かが私に900MBのビデオファイルをアップロードする私の目標に近づくかもしれない何かを知っていたら、教えてください。どんな助けも大いに魅力的です!

+3

IIS上の.htaccess?とにかく 'ini_get'が返すのは(あなたが変更した設定値のため)? php.iniは適切な場所にありますか? – Jonathon

+0

「最大900MBのビデオファイルをアップロードする私の目標」 - これは、PHP/Webサーバーが提供する標準的なHTTPアップロードを使用するのではなく、Java/Flashなどのアプレットの仕事のように聞こえます(AFAIK)は、Webページだけを使って実装することは不可能です。これらはまた、ドレープやドロップのような素敵な機能を提供することができます。 [JumpLoader](http://jumploader.com/)のような無料のすぐ使えるソリューションがたくさんあります... – DaveRandom

+0

@Jonny Keogh私はwindows/php.iniファイルとpleskでそれを変更しました/php/php.iniファイルを作成しましたが、pleskはplesk/php5/php.iniを使用するのが面白いと判明しました。 'ini_get(" extension_dir ")'を使ってこれを見つけました。感謝!! @DaveRandom私はこのウェブサイトでjavascript/flashを使いたくないです。しかし、今問題が解決したようです:) – Manuel

答えて

1

pleskがplesk/php/php.iniからplesk/php5/php.iniに変更され、最初のものを削除しないという問題がありました。 2番目のファイルを変更した後はすべて問題ありませんでした。

ini_get("extension_dir")を使用すると、拡張機能の場所を教えてくれますが、私の場合はどのPHPフォルダを使用しているのかわかりました。

(この質問のコメントで)この方向で私を導いてくれたJonny Keoghに感謝します!