しかし、昨日画像を読み込むときに問題が発生し、後でURLに中国語が含まれていることがわかりました。
たとえば、次の状況:
コードをコピー コードは次のとおりです:
$files = fopen(' http://www.website.com/MyPP.jpg', 'rb');
コードをコピー コードは次のとおりです:
$url = 'http://www.website.com/myPP .jpg';
$url = preg_replace('/:/i', ':', preg_replace('///i', '/', urlencode(urldecode($url))); fopen ($url, 'rb');
コードをコピーします コードは次のとおりです:
fopen( ファイル名、モード、インクルードパス、コンテキスト)
参数 | 描述 |
filename | 规定要打开的文件或 URL。 |
mode | 规定要求到该文件/流的访问类型。可能的值见下表。 |
include_path | 如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。 |
context | 规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
2. モードパラメータの可能な値:
モード | 説明 | ||||||||||||||||||
"r" | 読み取り専用モードで開き、ファイル ポインタをファイル ヘッダーにポイントします。 | ||||||||||||||||||
"r " | 読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。 | ||||||||||||||||||
"w" | 書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。 | ||||||||||||||||||
"w " | 読み取り/書き込みモードで開き、ファイル ポインターをファイル ヘッダーにポイントし、ファイル サイズをゼロに切り捨てます。ファイルが存在しない場合は、作成してみてください。 | ||||||||||||||||||
"a" | 書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 | ||||||||||||||||||
"a " | 読み取り/書き込みモードで開き、ファイル ポインタをファイルの末尾に指します。ファイルが存在しない場合は、作成してみてください。 | ||||||||||||||||||
"x" | が作成され、書き込み用に開かれ、ファイル ポインターがファイル ヘッダーを指します。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。
|
||||||||||||||||||
"x " | が作成され、読み取りと書き込みのために開かれ、ファイル ポインターがファイル ヘッダーを指します。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。 これは、基礎となる open(2) システム コールに O_EXCL|O_CREAT フラグを指定するのと同じです。 このオプションは PHP 4.3.2 以降のバージョンでサポートされており、ローカル ファイルにのみ使用できます。 |