使用 Javascript 或 PHP 从网页中保存图像

Posted

技术标签:

【中文标题】使用 Javascript 或 PHP 从网页中保存图像【英文标题】:Save Images from a webpage using Javascript or PHP 【发布时间】:2011-03-27 20:11:20 【问题描述】:

我用 jquery 编写了一个小的 javascript 应用程序,它通过 Google Feed API 获取 rss 提要并将其显示为图像网格。

代码如下:

<ul>
...
<li><a class="entry" href="LINK_TO_BIG_IMAGE" title="TITLE_OF_ENTRY"><img class="entry-img" src="THUMB_IMG"  /></a></li>
...
</ul>

我想要做的是能够一次将所有图像保存在服务器上的文件夹中。现在,如果它在页面加载时完成,我会很高兴。可以通过 Javascript 实现吗?你有什么方向可以指点我吗?

提前致谢!

【问题讨论】:

您想使用客户端运行的JavaScript将图像保存在服务器上的文件夹中吗?我对么?如果是这样,您不能直接执行此操作,您必须向服务器发送一个 HTTP 请求(使用表单或 XMLHttpRequest),该请求启动一个执行您想要的脚本的脚本。 那么提交按钮会起作用吗?就像,我可以通过javascript轻松获取所有图像路径,然后将它们推送到文本区域,单击提交按钮,然后会触发脚本服务器端对吗?我想当然有更好的方法,但我正在尝试用自己的技能做到这一点,而且我是初学者。 您可以抓取路径并将它们放在隐藏字段中,然后将路径提交给服务器。 【参考方案1】:

您关于将路径提交到服务器上的 php 脚本的评论会起作用(我不建议这样做,但它会起作用)。

然后您的 php 可以像这样下载图像(未经测试,您需要在保存文件时从 $url 解析文件名)。

<?php

$image_urls = isset($_POST['image_urls']) ? $_POST['image_urls'] : null;//assume it's an array of urls

if (!count($image_urls))//check that our array actually contains 1 or more urls

  die('no urls provided');


$image_folder_path = '/home/somefolder/';

foreach ($image_paths as $index => $url)

  $file_name = $image_folder_path . $index . '.jpg';//you will need to parse the url for the file name and extension for this to be accurate

  $image = file_get_contents($url);//if fopen wrappers is enabled you can do this otherwise use something like cUrl to fetch the file
  file_put_contents($file_name, $image);


?>

【讨论】:

以上是关于使用 Javascript 或 PHP 从网页中保存图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 或 JavaScript 在网页正文中显示描述元标记的内容?

IE - 如何在 textarea 中保留空白,使用 javascript 字符串输入

如何使用javascript从网页中获取点击或选择的文本? [复制]

用户从输入网址,按下确定到在浏览器上看到动态网页和静态网页过程分别是啥

使用 javascript 或 php 从图像中获取所有 HEX 值

如何从图像集合中保存视频文件?