但昨天在读取一张图片的时候出问题了,后来发现是URL里带中文字符。 例如下面这种情况:
复制代码 代码如下:
$files = fopen('http://HdhCmsTestwebsite测试数据/我的PP.jpg', 'rb');
那“$files”的返回值将会是“False”。首先我想到的是将URL用urlencode编码一下,发现还是不行,原来urlencode会把“:”、“/”字符也编码了,那URL就不是URL了。呵,说得有些绕口,那就把“:”、“/”字符的编码替换回来就应该行的。复制代码 代码如下:
$url = 'http://HdhCmsTestwebsite测试数据/我的PP.jpg'; $url = preg_replace('/\%3A/i', ':', preg_replace('/\%2F/i', '/', urlencode(urldecode($url)))); $file = fopen($url, 'rb');
试试,嘿~还真是行了。下面再温习一下fopen()函数: fopen() 函数打开文件或者URL。 如果打开失败,本函数返回FALSE。 打开成功,本函数返回TRUE。 一、语法:复制代码 代码如下:
fopen(filename, mode, include_path, context)
查看更多关于之前喜欢用fopen()函数跨域读取图片或其它文件,的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did7061