目次
ディスカッション(解決策)への返信
ホームページ バックエンド開発 PHPチュートリアル PHP が必要なファイル タイプ (比較的大きいファイル) をダウンロードして生成するときに問題が発生します。

PHP が必要なファイル タイプ (比較的大きいファイル) をダウンロードして生成するときに問題が発生します。

Jun 23, 2016 pm 01:49 PM
php ダウンロード 書類 タイプ

最初に、データが多すぎると php スクリプトの実行に時間がかかることがわかりました。

単にデータを全て取得して、検索条件に合うかどうかを判断するのですが、これは本当に面倒なのですが、条件が空の場合もあるので、それぞれの条件が空かどうかを判断すればいいような気がします。空でない場合はSQL文に追加するのが面倒なのでやりませんでした。 (これを行う方法がある場合は教えてください)

通常、すべての条件は空であり、それらのいくつかの if ステートメントは多くの時間を無駄にしないはずなので、データベースから 20,000 ~ 30,000 個のデータを取得し、これらを走査するだけです。 2 では、30,000 個のデータから対応する形式 (HTML、txt、その他の形式) の文字列を生成するのに長い時間がかかり、max_execution_time = 30 を超えていました。 (長時間設定して 2 分以上待ちましたが、何も出力されませんでした。) その後、スクリプトを直接入力すると、白いインターフェイスが表示されます。

それで私の主な質問:

そのデータをエクスポートする方法は? リーダーの提案は、毎回 1,000 項目を読み取り、進行状況バーを追加することです。パスがある場合は、直接エクスポートできます。私はそれをダウンロードしました。私はもともとajaxを使用したかったのですが(あまり使用したことがなかったので、それが非同期リクエストであることは知っていました)、その後、誰かがSmartyテンプレート、HTML、およびphpをダウンロードできないと言っているのを見ました。ファイルが分割されています。長い間何をすればよいのかわかりません。助けてください。 。


ディスカッション(解決策)への返信

私だったら、あなたのリーダーと同じ考えを持ち、それをページに生成します。 。 。

受信条件の空の項目を除外するには、array_diff を使用できます
たとえば、 $_POST = array_diff($_POST, array(''));
空の項目を使用しないと、SQL を組み立てるのがはるかに簡単になります

普段は空なのに、ループの中で一つ一つ判断していませんか? 1万件のデータに対して何万回も判定する必要があるのではないでしょうか?

クエリ条件がない場合、なぜわざわざ毎回組み立てる必要があるのでしょうか?
INTO OUTFILE 句を select コマンドに追加すると、ファイルに直接出力されます

受信条件の空の項目を除外するには、array_diff を使用できます
たとえば、$_POST = array_diff ($_POST, array(' '));
空の項目がなければ、SQL を組み立てるのはずっと簡単です

通常は空ですが、ループ内で 1 つずつ識別することもありませんか? 1万件のデータに対して何万回も判定する必要があるのではないでしょうか?

クエリ条件がない場合、なぜわざわざ毎回組み立てる必要があるのでしょうか?
select コマンドに INTO OUTFILE 句を追加すると、ファイルに直接出力されます。 If(!=null)の場合はループ判定を行います。


対応する形式でファイルを生成する必要があるため、テーブル、tr、td などの配列を循環してすべて取り出しました。
条件が空の場合、条件を満たすかどうかの判定は実行されません。いいえ、

私だったら、皆さんのリーダーと同じ考えを持ち、それをページで生成するでしょう。 。 。




どうやって分けるの?条件に関連するすべてのコンテンツを一度にエクスポートし、一時ファイルを生成し、毎回 1,000 個のアイテムを取得してその中に入れ、最後に一時ファイルのダウンロードを提供し、最後に一時ファイルを削除します。

それは私自身の問題のようです。ファイルのダウンロード終了時のエコーが原因で、データベースとは関係がありません。 。

そこで、Baidu は、エコー文字列の前に ob_start() を追加しました。この間に、各データがエコーされ、最終的には、flush()、ob_flush()、および ob_end_clean() がすべて出力されます。当分はあまり時間はかかりません。 。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles