ユーザー入力(テキストとリンク)を取得し、それをデータベースに入れ、ユーザーが提供したリンクを使用して画像を検索するphpスクリプトがあります。
問題は、画像の検索に時間がかかる場合があり、これにより Web サイトが「スタック」し、「投稿が送信されました!」というビューが表示されることです。最終的にロードするのに 4 ~ 6 秒かかることがあります。
PHP で画像を非同期的に検索する方法はありますか?
ビューを読み込んでから画像検索を実行したり、AJAX を使用したりしないのはなぜかと思うかもしれません。さて、アイテム ID に従って画像の名前を変更するには、データベースからの「最後の挿入 ID」が必要です。これは、投稿がデータベースに挿入された後にのみ実行できます。
編集 1:私はすでにこの非同期 PHP 呼び出しを読みましたか? しかし、私が理解しているかどうかはわかりません。
編集 2:要求されたプロセスの概要は次のとおりです。
- ステップ 1: ユーザーがフォームを開き、2 つのフィールド (テキストとリンク) に入力します。
- ステップ 2: ユーザーがフォームを送信する
- ステップ 3: PHP は MySQL データベースに投稿を挿入します
- ステップ 4: PHP はそのリンクの画像を検索し (Web をクロールします。数秒かかります)、データベースに挿入された最後の ID の名前で画像を保存します。最後の ID が 75 の場合、画像は「img_75」として保存されます。
- ステップ 5: PHP が「リンクの投稿に成功しました」を読み込みます
私が望むのは、ステップ 5 がステップ 3 の直後に発生し、ステップ 4 が実行されていることです。ステップ 4 からの応答は実際には必要ありません。バックグラウンドで実行される限り、私は満足しています :)
解決策: @shadyyx が提案することを実行しました。シンプルな AJAX 呼び出し。私は代替手段を本当に望んでいましたが、どうやらphpも他のサーバー側言語も非同期呼び出しを処理できません。