一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP fopen 讀取帶中文URL地址的一點見解

PHP fopen 讀取帶中文URL地址的一點見解

2020-01-12 17:56PHP教程網(wǎng) PHP教程

之前喜歡用fopen()函數(shù)跨域讀取圖片或其它文件,一直都沒發(fā)現(xiàn)什么問題。我所用的PHP版本都是5的了,應(yīng)該不會有CRLF Injection攻擊危險吧

但昨天在讀取一張圖片的時候出問題了,后來發(fā)現(xiàn)是URL里帶中文字符。 

例如下面這種情況: 

復(fù)制代碼代碼如下:


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


那“$files”的返回值將會是“False”。首先我想到的是將URL用urlencode編碼一下,發(fā)現(xiàn)還是不行,原來urlencode會把“:”、“/”字符也編碼了,那URL就不是URL了。呵,說得有些繞口,那就把“:”、“/”字符的編碼替換回來就應(yīng)該行的。 

復(fù)制代碼代碼如下:


$url = 'http://www.website.com/我的PP.jpg'; 
$url = preg_replace('/\%3A/i', ':', preg_replace('/\%2F/i', '/', urlencode(urldecode($url)))); $file = fopen($url, 'rb'); 



試試,嘿~還真是行了。下面再溫習(xí)一下fopen()函數(shù): 

fopen() 函數(shù)打開文件或者URL。 如果打開失敗,本函數(shù)返回FALSE。 打開成功,本函數(shù)返回TRUE。 

一、語法: 

復(fù)制代碼代碼如下:

fopen(filename, mode, include_path, context)

 

參數(shù)

描述

filename

規(guī)定要打開的文件或 URL。

mode

規(guī)定要求到該文件/流的訪問類型。可能的值見下表。

include_path

如果也需要在 include_path 中檢索文件的話,可以將該參數(shù)設(shè)為 1 或 TRUE。

context

規(guī)定文件句柄的環(huán)境。Context 是可以修改流的行為的一套選項。

二、mode 參數(shù)的可能的值:

mode

說明

"r"

只讀方式打開,將文件指針指向文件頭。

"r+"

讀寫方式打開,將文件指針指向文件頭。

"w"

寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。

"w+"

讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。

"a"

寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。

"a+"

讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。

"x"

創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之。
這和給底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標記是等價的。
此選項被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。

"x+"

創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之。
這和給底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標記是等價的。
此選項被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国精视频一区二区视频 | 久久亚洲电影www电影网 | 天堂a免费视频在线观看 | 色综合久久夜色精品国产 | 极品ts赵恩静和直男激战啪啪 | 免费xxxx日本大片在线观看 | 国产色司机在线视频免费观看 | 毛片亚洲毛片亚洲毛片 | 欧美性一级交视频 | 国产精品久久久久久久人人看 | 草莓视频看污 | acg火影忍者熟密姬纲手h | 91porn在线观看国产 | 免费一级欧美片片线观看 | 情侣奴伺候女王第2部分小说 | 国产美女屁股直流白浆视频无遮挡 | 久久毛片免费看一区二区三区 | 大伊香蕉精品视频一区 | 亚洲六月丁香六月婷婷色伊人 | 成人免费淫片95视频观看网站 | 四虎影院4hu| 日本人作爰啪啪全过程 | 欧美一级h | 国产福利一区二区三区 | 四虎一影院区永久精品 | 日本人成年视频在线观看 | 99热久久国产精品这里 | 99精品全国免费7观看视频 | 国产香蕉一区二区在线网站 | 色婷婷久| 久久久久久久伊人电影 | 欧美a在线 | 亚洲高清在线视频 | 色老板视频在线观看 | 性夜影院午夜看片 | 免费亚洲一区 | 日韩高清在线免费看 | 青青网站| 香蕉国产人午夜视频在线 | 9久久9久久精品 | 欧美人禽杂交在线视频 |