最初に、データが多すぎると 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() がすべて出力されます。当分はあまり時間はかかりません。 。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
