如果 Imagemagick 包含端口号,则无法在远程图像上使用识别

发布于 2024-10-30 19:53:05 字数 370 浏览 7 评论 0原文

如果 url 包含端口号,我在使用 imagemagick 对远程图像使用 exec recognize 时遇到问题。所以网址看起来像这样: 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

I am having trouble using exec identify on a remote image with imagemagick if the url contains a port number. So the url appears like this: http://isite.com:81/image.jpg If I remove the :81 it works. What can I do? Either fixing this issue with imagemagick or removing the port number is fine. I tried using PHP's parse_url function to remove the port, however I cannot reconstruct the url afterwards because http_build_url() function is not available on my server and I cannot install it. The above URL is an example. Here is the original URL http://img.wallpaperstock.net:81/jeep-in-desert-wallpapers_11419_1600x1200.jpg

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄与心 2024-11-06 19:53:05

您没有显示任何代码,也没有告诉具体什么不起作用,但如果您使用 exec,很可能您只需要在将参数传递给 ImageMagick 之前对其进行转义即可。

如果您从外部获取 URL,出于安全原因,您需要无论如何都要这样做!

$ip = "http://isite.com:81/image.jpg";

$ip_safe = escapeshellarg($ip);

exec("identify $ip_safe"); 

You're not showing any code nor telling what exactly doesn't work, but if you are using exec, chances are that you simply need to escape the parameter before you pass it to ImageMagick.

If you're getting the URLs from the outside, you need to do this anyway for security reasons!

$ip = "http://isite.com:81/image.jpg";

$ip_safe = escapeshellarg($ip);

exec("identify $ip_safe"); 
晚雾 2024-11-06 19:53:05

所需的正则表达式是

preg_replace('/(?<=[^:]):\d+\//i', '/', 'http://isite.com:81/image.jpg');

The required regexp would be

preg_replace('/(?<=[^:]):\d+\//i', '/', 'http://isite.com:81/image.jpg');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文