フォールバックシステムを使用してPHPでリモートURLデータをダウンロードするカスタム関数

user1642018

変数のリモートURLデータを取得するカスタム関数を作成しようとしています。しかし、私はフォールバックシステムでこれを行っているので、リモートデータを取得するために利用できる機能は何ですか。

私は何かを逃していないかどうかを確認したいと思います。クライアントマシンで実行するスクリプトを作成しているので、特定の機能が有効になっていない場合は、別の使用可能な機能にフォールバックする必要があります。

function url_get_contents ($url) {
    if (function_exists('curl_exec')){ 
        $conn = curl_init($url);
        curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($conn, CURLOPT_FRESH_CONNECT,  true);
        curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1);
        $url_get_contents_data = (curl_exec($conn));
        curl_close($conn);
    }elseif(function_exists('file_get_contents')){
        $url_get_contents_data = file_get_contents($url);
    }elseif(function_exists('fopen') && function_exists('stream_get_contents')){
        $handle = fopen ($url, "r");
        $url_get_contents_data = stream_get_contents($handle);
    }else{
        $url_get_contents_data = false;
    }
return $url_get_contents_data;
} 

後で私はこのようにチェックすることができます

$data = url_get_contents("http://www.google.com");
if($data){
echo "bravo";
}else{
echo "oops";
}

リモートファイルデータを取得するために利用できるその他のメソッド/関数は何ですか。

Sabuj hasan

あなたのコードとアプローチは素晴らしいです。ほとんどのバージョンのPHPで安全に思えました。

カールに関すること。このオプションをSSLに使用することをお勧めします

curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);

そうしないと、一部のシステムでhttpsプロトコルに対して次のエラーが発生します。

* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

fsockopen()リモートコンテンツの取得を試みることもできます。ただし、これについては、プロトコルごとにfor番号を変更する必要があります。

$fp = fsockopen($domain, $portno, $errno, $errstr);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ラムダでカスタムリソースを使用してクラウドフォーメーションで出力をエクスポートする

分類Dev

ユニバーサルフォワーダーを介してリモートシステムからデータを受信するようにSplunkのドメインアカウントを設定できないのはなぜですか?

分類Dev

ドロップダウンボックス-Spring MVCモデル/コンテキストからフリーマーカーを使用したフォームへ

分類Dev

チャートプロパティのイベントロードでchart.renderer.textを使用して、デフォルトのツールチップと同等のカスタムツールチップをマウスオーバーに配置する方法

分類Dev

ダウンロード可能なフォントをカスタムスナックバー書体として使用する

分類Dev

Djangoフォーム:既存のモデルの値を使用してフォームに簡単なドロップダウンリストを作成する方法

分類Dev

KendoUIドロップダウンリスト-カスタムデータフィールドを追加します

分類Dev

デフォルトのコンストラクターなしでカスタムバリデーターを使用して手動で検証する

分類Dev

デフォルトのコンストラクターなしでカスタムバリデーターを使用して手動で検証する

分類Dev

スリムなフレームワークでスリムなミドルウェアを使用してカスタムクラスをフォルダからルートにロードする方法

分類Dev

nodejsのリクエストモジュールを使用して削除リクエストでフォームデータとヘッダーを送信する方法

分類Dev

MVCドロップダウンリストを使用して、フォームを編集し、ドロップダウンにデータを表示し、ドロップダウンに以前に選択したアイテムを表示する方法は?

分類Dev

カスケードドロップダウンリストのアイテムをasp.netmvcを使用してデータベースに保存する方法

分類Dev

テキストボックスとドロップダウンリストを使用してテーブルを検索し、データベースをフィルタリングします (リアルタイム検索)

分類Dev

Rを使用してAzureML Jupyter / iPythonNotebookにカスタムデータセットをダウンロードする

分類Dev

カートにリダイレクトするカスタムテーブルからのセッションデータを設定して使用する

分類Dev

私の考案したユーザー モデルのカスタム フィールド ユーザー名は常に nil です。スタック オーバーフローに関する他のすべてのソリューションを試しました

分類Dev

Angular5リアクティブフォームでフォームコントロール値をカスタムバリデーター関数のパラメーターに渡す方法

分類Dev

リアルタイム関数を使用して、イベントコールバックで両方をデバウンスする方法は?

分類Dev

Windowsファイアウォールは、カスタムポートでリモートデスクトップをブロックします

分類Dev

サブリスト内の特定のティッカーについてのみ、パッケージyfinanceを使用してフォーマットごとにグループでダウンロードされたデータをパンダデータフレームに取得できません

分類Dev

サブリスト内の特定のティッカーについてのみ、パッケージyfinanceを使用してフォーマットごとにグループでダウンロードされたデータをパンダデータフレームに取得できません

分類Dev

リモート(openshift)からローカルシステムにファイル/フォルダーをダウンロードする方法

分類Dev

ループバックのミックスインでカスタム関数を使用してモデルを拡張する

分類Dev

パンダ-カスタム関数を使用してデータフレームのすべての列でウィンドウをロールし、追加のパラメーターを渡します

分類Dev

ブートストラップモーダルを使用してフォームデータをアップロードする

分類Dev

django RESTフレームワークでカスタムエラーコードを使用してカスタム例外をオンザフライでスローし、例外応答でデフォルトフィールドをオーバーライドする方法

分類Dev

CSSを使用してJavaFXシーンビルダーでカスタムフォントを設定する方法

分類Dev

アクロバットPDFフォームでJavaスクリプトを使用してフィールドの数字のスタイルを変更する

Related 関連記事

  1. 1

    ラムダでカスタムリソースを使用してクラウドフォーメーションで出力をエクスポートする

  2. 2

    ユニバーサルフォワーダーを介してリモートシステムからデータを受信するようにSplunkのドメインアカウントを設定できないのはなぜですか?

  3. 3

    ドロップダウンボックス-Spring MVCモデル/コンテキストからフリーマーカーを使用したフォームへ

  4. 4

    チャートプロパティのイベントロードでchart.renderer.textを使用して、デフォルトのツールチップと同等のカスタムツールチップをマウスオーバーに配置する方法

  5. 5

    ダウンロード可能なフォントをカスタムスナックバー書体として使用する

  6. 6

    Djangoフォーム:既存のモデルの値を使用してフォームに簡単なドロップダウンリストを作成する方法

  7. 7

    KendoUIドロップダウンリスト-カスタムデータフィールドを追加します

  8. 8

    デフォルトのコンストラクターなしでカスタムバリデーターを使用して手動で検証する

  9. 9

    デフォルトのコンストラクターなしでカスタムバリデーターを使用して手動で検証する

  10. 10

    スリムなフレームワークでスリムなミドルウェアを使用してカスタムクラスをフォルダからルートにロードする方法

  11. 11

    nodejsのリクエストモジュールを使用して削除リクエストでフォームデータとヘッダーを送信する方法

  12. 12

    MVCドロップダウンリストを使用して、フォームを編集し、ドロップダウンにデータを表示し、ドロップダウンに以前に選択したアイテムを表示する方法は?

  13. 13

    カスケードドロップダウンリストのアイテムをasp.netmvcを使用してデータベースに保存する方法

  14. 14

    テキストボックスとドロップダウンリストを使用してテーブルを検索し、データベースをフィルタリングします (リアルタイム検索)

  15. 15

    Rを使用してAzureML Jupyter / iPythonNotebookにカスタムデータセットをダウンロードする

  16. 16

    カートにリダイレクトするカスタムテーブルからのセッションデータを設定して使用する

  17. 17

    私の考案したユーザー モデルのカスタム フィールド ユーザー名は常に nil です。スタック オーバーフローに関する他のすべてのソリューションを試しました

  18. 18

    Angular5リアクティブフォームでフォームコントロール値をカスタムバリデーター関数のパラメーターに渡す方法

  19. 19

    リアルタイム関数を使用して、イベントコールバックで両方をデバウンスする方法は?

  20. 20

    Windowsファイアウォールは、カスタムポートでリモートデスクトップをブロックします

  21. 21

    サブリスト内の特定のティッカーについてのみ、パッケージyfinanceを使用してフォーマットごとにグループでダウンロードされたデータをパンダデータフレームに取得できません

  22. 22

    サブリスト内の特定のティッカーについてのみ、パッケージyfinanceを使用してフォーマットごとにグループでダウンロードされたデータをパンダデータフレームに取得できません

  23. 23

    リモート(openshift)からローカルシステムにファイル/フォルダーをダウンロードする方法

  24. 24

    ループバックのミックスインでカスタム関数を使用してモデルを拡張する

  25. 25

    パンダ-カスタム関数を使用してデータフレームのすべての列でウィンドウをロールし、追加のパラメーターを渡します

  26. 26

    ブートストラップモーダルを使用してフォームデータをアップロードする

  27. 27

    django RESTフレームワークでカスタムエラーコードを使用してカスタム例外をオンザフライでスローし、例外応答でデフォルトフィールドをオーバーライドする方法

  28. 28

    CSSを使用してJavaFXシーンビルダーでカスタムフォントを設定する方法

  29. 29

    アクロバットPDFフォームでJavaスクリプトを使用してフィールドの数字のスタイルを変更する

ホットタグ

アーカイブ