検索
ホームページphp教程php手册PHP fopen での漢字を含む URL アドレスの読み取りに関する洞察

PHP fopen での漢字を含む URL アドレスの読み取りに関する洞察

Jun 13, 2016 am 11:57 AM
fopenphpurl中国語写真存在する住所持ってくる昨日読む

しかし、昨日画像を読み込むときに問題が発生し、後でURLに中国語が含まれていることがわかりました。

たとえば、次の状況:

コードをコピー コードは次のとおりです:


$files = fopen(' http://www.website.com/MyPP.jpg', 'rb');


「$files」の戻り値は「False」になります。最初に URL を urlencode でエンコードすることを考えましたが、それでもうまくいきませんでした。結局、urlencode は「:」と「/」の文字もエンコードしてしまうため、その URL は URL ではなくなりました。ハハ、それは少し複雑に聞こえるので、「:」と「/」文字のエンコードを置き換えるだけで機能するはずです。

コードをコピー コードは次のとおりです:


$url = 'http://www.website.com/myPP .jpg';
$url = preg_replace('/:/i', ':', preg_replace('///i', '/', urlencode(urldecode($url))); fopen ($url, 'rb');



試してみてください、本当にうまくいきます。 fopen() 関数を確認してみましょう:

fopen() 関数はファイルまたは URL を開きます。 オープンに失敗した場合、この関数は FALSE を返します。 正常に開かれた場合、この関数は TRUE を返します。

1. 構文:

コードをコピーします コードは次のとおりです:

fopen( ファイル名、モード、インクルードパス、コンテキスト)



参数 描述
filename 规定要打开的文件或 URL。
mode 规定要求到该文件/流的访问类型。可能的值见下表。
include_path 如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。
context 规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

2. モードパラメータの可能な値:

モード 説明
"r" 読み取り専用モードで開き、ファイル ポインタをファイル ヘッダーにポイントします。
"r " 読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。
"w" 書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。
"w " 読み取り/書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。
"a" 書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。
"a " 読み取り/書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。
"x" が作成され、書き込み用に開かれ、ファイル ポインターがファイル ヘッダーを指します。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。
mode 说明
"r" 只读方式打开,将文件指针指向文件头。
"r " 读写方式打开,将文件指针指向文件头。
"w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"w " 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a " 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"x" 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。
这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。
此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
"x " 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。
这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。
此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。 このオプションは PHP 4.3.2 以降のバージョンでサポートされており、ローカル ファイルにのみ使用できます。
"x " が作成され、読み取りと書き込みのために開かれ、ファイル ポインターがファイル ヘッダーを指します。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。 これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。 このオプションは PHP 4.3.2 以降のバージョンでサポートされており、ローカル ファイルにのみ使用できます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

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