如果url包含端口号,我在使用imagemagick的远程图像上使用exec识别时遇到问题。所以网址如下所示:http://isite.com:81/image.jpg
如果我删除了:81它就可以了。我能做什么?使用imagemagick解决此问题或删除端口号是正常的。我尝试使用PHP的parse_url函数删除端口,但之后我无法重建url因为http_build_url()函数在我的服务器上不可用而且我无法安装它。上面的URL就是一个例子。这是原始网址http://img.wallpaperstock.net:81/jeep-in-desert-wallpapers_11419_1600x1200.jpg
答案 0 :(得分:1)
您没有显示任何代码,也没有说明究竟什么不起作用,但如果您使用的是exec
,则可能只需要在将参数传递给ImageMagick之前转义该参数。
如果您从外部获取网址,出于安全考虑,需要仍然可以执行此操作!
$ip = "http://isite.com:81/image.jpg";
$ip_safe = escapeshellarg($ip);
exec("identify $ip_safe");
答案 1 :(得分:-1)
所需的正则表达式
preg_replace('/(?<=[^:]):\d+\//i', '/', 'http://isite.com:81/image.jpg');