ホームページ バックエンド開発 PHPチュートリアル PHPはcurlを使用してリモートイメージ実装メソッドを取得します

PHPはcurlを使用してリモートイメージ実装メソッドを取得します

Jun 02, 2018 pm 01:51 PM
curl php 写真

この記事では、PHP がどのようにしてリモート画像を取得するかを紹介します。Curl には PHP 環境のサポートが必要です。必要な方は参照してください。

Curl が PHP 環境のサポートを必要とするかどうかを確認できます。通常、php.ini で、extension=php_curl.dll の前の ; を削除し、IIS または APACHE を再起動する必要があります。
コードは次のとおりです:

/*
*@通过curl方式获取指定的图片到本地
*@ 完整的图片地址
*@ 要存储的文件名
*/
function getImg($url = "", $filename = "")
{
 //去除URL连接上面可能的引号
 //$url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url );
 $hander = curl_init();
 $fp = fopen($filename,'wb');
 curl_setopt($hander,CURLOPT_URL,$url);
 curl_setopt($hander,CURLOPT_FILE,$fp);
 curl_setopt($hander,CURLOPT_HEADER,0);
 curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
 //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
 curl_setopt($hander,CURLOPT_TIMEOUT,60);
 curl_exec($hander);
 curl_close($hander);
 fclose($fp);
 Return true;
}
ログイン後にコピー

呼び出すときは、直接getImg("/logo.jpg","upload/image.jpg")

実装コード2
コードは次のとおりです:

りー

curl_setopt CURL 呼び出しのオプションを設定します。
boolcurl_setopt (int ch、文字列オプション、混合値)
curl_setopt() 関数は、CURL セッションのオプションを設定します。 option パラメーターは必要な設定であり、value はこのオプションで指定される値です。
次のオプションの値は、long 整数 (オプション パラメーターで指定) として使用されます:
CURLOPT_INFILESIZE: ファイルをリモート サイトにアップロードするとき、このオプションは PHP にファイルのサイズを伝えます。アップロードしたファイル。
CURLOPT_VERBOSE: CURL がすべての予期しないイベントを報告するようにするには、このオプションをゼロ以外の値に設定します。
CURLOPT_HEADER: 出力にヘッダーを含めたい場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_NOPROGRESS: PHP に CURL 転送の進行状況バーを表示させたくない場合は、このオプションをゼロ以外の値に設定します。
注: PHP はこのオプションをゼロ以外の値に自動的に設定します。このオプションはデバッグ目的でのみ変更してください。
CURLOPT_NOBODY: 出力に本文部分を含めたくない場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_FAILONERROR: エラーが発生した場合 (HTTP コードが 300 以上を返す場合) に PHP を表示しないようにするには、このオプションをゼロ以外の値に設定します。デフォルトの動作では、通常のページが返され、コードは無視されます。
CURLOPT_UPLOAD: PHP にアップロードの準備をさせたい場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_POST: PHP に通常の HTTP POST を実行させたい場合は、このオプションをゼロ以外の値に設定します。この POST は通常の application/x-www-from-urlencoded タイプで、主に HTML フォームで使用されます。
CURLOPT_FTPLISTONLY: このオプションをゼロ以外の値に設定すると、PHP は FTP のディレクトリ名をリストします。
CURLOPT_FTPAPPEND: このオプションをゼロ以外の値に設定すると、PHP はリモート ファイルを上書きする代わりに適用します。
CURLOPT_NETRC: このオプションをゼロ以外の値に設定すると、PHP は ~./netrc ファイル内で接続先のリモート サイトのユーザー名とパスワードを調べます。
CURLOPT_FOLLOWLOCATION: このオプションをゼロ以外のヘッダー (「Location:」など) に設定すると、サーバーはそれを HTTP ヘッダーの一部として送信します (これは再帰的であることに注意してください。PHP は「Location:」のようなものを送信します) ") "の頭)。
CURLOPT_PUT: HTTP を使用してファイルをアップロードするには、このオプションをゼロ以外の値に設定します。このファイルをアップロードするには、CURLOPT_INFILE および CURLOPT_INFILESIZE オプションを設定する必要があります。
CURLOPT_MUTE: このオプションをゼロ以外の値に設定すると、PHP は CURL 関数に対して完全にサイレントになります。
CURLOPT_TIMEOUT: 最大秒数として長整数を設定します。
CURLOPT_LOW_SPEED_LIMIT: 送信されるバイト数を制御する長整数を設定します。
CURLOPT_LOW_SPEED_TIME: CURLOPT_LOW_SPEED_LIMIT で指定されたバイト数を送信する秒数を制御する長整数を設定します。
CURLOPT_RESUME_FROM: バイト オフセット アドレス (転送先の開始フォーム) を含む長いパラメータを渡します。
CURLOPT_SSLVERSION: SSL バージョンを含む長いパラメータを渡します。デフォルトでは、PHP は独自の努力によって決定されますが、より安全にするには、手動で設定する必要があります。
CURLOPT_TIMECONDITION: 長いパラメータを渡して、CURLOPT_TIMEVALUE パラメータの処理方法を指定します。このパラメータは TIMECOND_IFMODSINCE または TIMECOND_ISUNMODSINCE に設定できます。これはHTTPのみの場合です。
CURLOPT_TIMEVALUE: 1970 年 1 月 1 日から現在までの秒数を渡します。この時間は、CURLOPT_TIMEVALUE オプション、またはデフォルトの TIMECOND_IFMODSINCE によって指定された値として使用されます。
次のオプションの値は文字列として扱われます:
CURLOPT_URL: これは、PHP を使用して取得する URL アドレスです。このオプションは、curl_init() 関数を使用した初期化中に設定することもできます。
CURLOPT_USERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、PHP を使用して接続します。
CURLOPT_PROXYUSERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、HTTP プロキシに接続します。
CURLOPT_RANGE: 指定したい範囲を渡します。 X または Y を除いた「X-Y」形式である必要があります。 HTTP 転送では、カンマ (X-Y、N-M) で区切られた複数の間隔もサポートされます。
CURLOPT_POSTFIELDS: すべてのデータを含む文字列を HTTP "POST" 操作として渡します。
CURLOPT_REFERER: HTTP リクエスト内の「リファラー」ヘッダーを含む文字列。
CURLOPT_USERAGENT: HTTP リクエスト内の「user-agent」ヘッダーを含む文字列。
CURLOPT_FTPPORT: ftpの「POST」コマンドで使用されるIPアドレスを含むIPアドレスを渡します。この POST 命令は、指定した IP アドレスに接続するようにリモート サーバーに指示します。 この文字列には、IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、または「-」 (システムのデフォルトの IP アドレスを使用) を指定できます。
CURLOPT_COOKIE: HTTP Cookie を含むヘッダー接続を渡します。
CURLOPT_SSLCERT: 証明書を含む文字列を PEM 形式で渡します。
CURLOPT_SSLCERTPASSWD: CURLOPT_SSLCERT 証明書を使用するために必要なパスワードを含むパスワードを渡します。
CURLOPT_COOKIEFILE: Cookie データを含むファイルの名前を含む文字列を渡します。この Cookie ファイルは、Netscape 形式であることも、ファイルに保存されている HTTP スタイルのヘッダーのスタックであることもできます。
CURLOPT_CUSTOMREQUEST: HTTPリクエストを行う際に、GETまたはHEADで使用する文字を渡します。

以上はPHPでcurlを使ってリモート画像を取得する実装方法でしたので、皆様の学習の参考になれば幸いです。

関連する推奨事項:

php が fsockopen GET/POST を使用してフォームを送信し、画像とテキストを含むファイルをアップロードする方法の詳細な説明

php がcurl を使用してプロキシ経由でデータを取得するメソッドを実装する方法

PHP7はcurlに基づいた画像アップロード関数を実装します

以上がPHPはcurlを使用してリモートイメージ実装メソッドを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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:25 PM

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

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

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

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