【问题标题】:wget embedded in php to download imagewget嵌入php下载图片
【发布时间】:2011-02-04 03:05:02
【问题描述】:

从命令行,wget @987654321@ 成功下载图片。

图片文件大小为7KB。

当我将此代码嵌入到exec()system()passthru()中时,比如

exec('wget http://mydomain.com/image.jpg');

或与system()passthru() 相同

图像被创建,但只有 255 字节...

谁能告诉我为什么会这样?

【问题讨论】:

  • 您是从命令行还是通过网页使用它?有没有输出,如果有,是什么?
  • 您是否查看了该短文件的内容以查看它是否为 jpg?它可能是 404 或 401 类型的错误页面,而不是 .jpg 数据。

标签: php image system exec wget


【解决方案1】:

我会尝试使用安静 (-q) 并指定输出文件 (-O)。它的持续状态更新可能会导致问题。

这是一个抓取谷歌徽标的示例,它对我有用。

<? system('wget -q @987654321@_sm.gif -O test2.gif'); ?>

wget v1.12

php v5.3.1

【讨论】:

  • 系统('wget -q http://mydomain.com/image.jpg -o image.jpg');创建图像,但现在是 0 字节
  • -O,不是-o。大写。小写 -o 用于日志文件。
  • 我用一个具体的例子更新了原始答案。试一试。它对我来说很好。
  • 我试过你的例子,效果很好。我不明白为什么我的示例返回一个 0 字节的图像文件。这是我的命令: system('wget -q images.guitarcenter.com/products/full/SKB/… -O christian_wget.jpg');你能试试吗?谢谢! :)
  • 好的。我得到了它。使用 php 5.2.9,我得到一个 0 字节的图像。使用 php 5.3.1,它工作得非常好......我得到一个 7.03KB 的图像。现在这很奇怪......有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多