PHP: imagecreatefromjpeg($url)不起作用,如果$url包含空格


PHP: imagecreatefromjpeg($url) doesn't work if $url contains spaces?

我使用脚本从另一个服务器获取图像并将其存储在数据库中,问题是当url中有一个空间时,该函数什么也抓不到。

我尝试对url进行编码,并简单地将所有空格替换为%20,但没有成功。

我已经没有选择了,如果你们谁能给我一些想法就太好了!

谢谢!

$thumb=imagecreatefromjpeg(http://www.dummysite.ca/imageone.jpg); //->WORKS
$thumb=imagecreatefromjpeg(http://www.dummysite.ca/image one.jpg); //->DOESN'T WORK

编辑:更多信息:我正在运行的CentOS机器,php 5.2.17

编辑:找到答案,用%20替换空格实际上是有效的,但我很愚蠢,只在imagecreatefromjpeg调用之前替换它,事实证明getimagesize也需要它

所以对于那些会有类似问题的人

%20替换空格实际上是有效的,但我很愚蠢,只在imagecreatefromjpeg调用之前替换它,事实证明getimagesize也需要它

我会尽我所能避免文件名中出现空格。在文件进入服务器的任何时候,都应该将其重命名为带有下划线的内容。对于文件上传,我将每个文件重命名为时间戳和上传者的ip地址的组合。从另一个服务器抓取可以使用相同的逻辑。如果需要保存原始文件名,只需将其保存为与DB条目关联的文本字符串。