2016-06-25 3 views
0

私は約30kbの(それぞれ平均して)1000個の.jpgイメージを表示しようとしています。私は最初のスクリプトをお見せしましょう:ブラウザーで30kbの画像を約1000枚表示するにはどうすればいいですか?

<?php 
    ini_set('display_errors', 1); 
    // database connection files 
    include '../../lib/config.php'; 
    include '../../lib/opendb.php'; 

    set_time_limit (9999); // to increase execution time for large upload database// 

// allow access to page 

    $showandsave = false; // choosen to view and save the images 


    if(isset($_POST['submit_html'])){ 
    $showandsave = true; 
    } 

    $reportdatefrom = $_REQUEST['reportdatefrom']; 
    $reportdateto = $_REQUEST['reportdateto']; 
    // Prepare Constant Query for Master List 
    $qry_const = "select"; 
    $qry_const .= " "."a.photoname";  
    $qry_const .= " "."from applicants a"; 
    $qry_const .= " "."where a.date_of_admission between '$reportdatefrom' and '$reportdateto'"; 

    $rs = mysql_query($qry_const) or die("Error Fetching List : ".mysql_error());   

      $gridsize = 10; 
      $r = 0; 
      echo "<table>"; 
      while($row = mysql_fetch_assoc($rs)){ 
      ++$r; 
      if($r == 1 || ($r-1)%$gridsize == 0) 
      echo "<tr>"; 
      echo "<td><img src='".$row['photoname']."' height='100px' width='75px'/></td>"; 
      if($r%$gridsize == 0) 
      echo "</tr>"; 
      } 
      echo "</table>";    
?> 

を画像の数が少ないの周りに20を言っている間に、エラーは発生しません、スクリプトが完全に正常に動作します。しかし、その数が200を超えると、「500 Internal Server Error」が発生しています。このような状況にどう対応するのですか?救済策を提案してください。

+0

サムネイルを作成しますか?私が意味することは、100x75ピクセルの画像は、およそ1-3 KBで、あなたが言うサイズの1/10です。 「500 Internal Server Error」が表示される場所(HTMLファイルまたはイメージ)を教えておくと便利です。 –

+0

しかし、それはファイルを圧縮しません、と私は思います。 @KIKO。私は元のサイズを取得したい。私の意図は元のサイズで画像を保存することです。コードが記述されているPHPファイルに "500 Internal Server Error"が表示されます。 – samlancer

+0

あなたのコードは社内でのみ使用されるものとしますか?あなたはdepricated mysqlライブラリを使用しており、ユーザ入力を直接SQL文に入れています。これは非常に危険です。参照:SQLインジェクション。 –

答えて

1

500 PHPでのエラーは、通常、スクリプトがクラッシュしたことを意味します。あなたはなぜそれが壊れたを知る必要があります。

これは、WebサーバーエラーログまたはPHPエラーログに表示されることがあります。どのプラットフォーム(linux/apache/php?windows/iis/php?)を実行しているのかは言わなかったので、どこを見てもわかりません。お気に入りの検索エンジンを使用してphp error log location linux apacheなどを求めてください。エラーログの終わりを見てください。

あなたがいる間は、php.ini location linux apacheを探してください。システム制限を含むファイルphp.iniがあります。

時間やRAMが不足していると思います。 PHPは一般に、あなたが試行している方法で時間制限を任意に増やすことはできません:set_time_limit (9999)。超過できない最大時間はmax_execution_time setting in the php.ini fileです。そこで変更する必要があるかもしれません。

あなたのPHPスクリプトではメモリ不足が生じる可能性があります。それを修正するにはmemory_limit settingを変更する必要があります。

コメントに誰かがmysql_インターフェイスを使用することのセキュリティ上の危険性を述べました。その人は冗談ではなかった。コード内のコメントから、サイトが大学のアプリケーションを扱うように見えます。今、誰もそのようなサイトを開拓することを夢見ることはありません。彼らは?彼らは?注意してください。大規模な機関のファイアウォールに頼らないでください。

+0

ありがとうOllie Jones。私はあなたが提供したものよりも何の助けも得られません。私はApacheサーバーを使用しています。アプリケーションはMySQLを使用しています。 – samlancer

関連する問題