使用 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从网页中获取点击或选择的文本? [复制]
用户从输入网址,按下确定到在浏览器上看到动态网页和静态网页过程分别是啥