b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

PHP,js,apache,h5等多种方式实现图片下载功能

电脑杂谈  发布时间:2019-07-24 09:05:30  来源:网络整理

php下载_php 批量下载远程图片_php 下载图片 最快

最近做了一个简单的小项目

这算是我学了php一个月以来第一次把自己学到的知识付诸实践,虽然有不少功能都是杜神写的,但是我还是做了一些简单的贡献。

在实现了生成海报的功能之后,接下来还有三个功能等待实现。

由于微信分享和新浪微博的分享已经做过了,并且可以使用,所以我就先做了下载图片的功能。

关于下载图片的功能,其实有多种方式实现。

先将比较复杂的PHP实现的方法。

PHP实现下载方式,基本上是浏览器发送一个请求,请求访问服务器中某个脚本,比如download.php。然后执行该文件的代码实现下载。

如图

php下载_php 下载图片 最快_php 批量下载远程图片

而在浏览器运行待下载的文件的时候,必然要把待下载的文件读入内存中,这里通过fopen()函数完成该动作,接下来就是从内存中读取文件,通过fread()函数完成该动作。

首先php 下载图片 最快,我提供一些本人编写的把32bit tga文件读入prgbabuffer的函数文件尺寸保存在 width,height//-----------------------------------------------------------------------// name: loadtgafile( tchar* strpathname, dword** prgbabuffer, long* width, long* height )// desc: 读取32bit tga文件到dword缓冲里,返回其尺寸// time: 2002.06.22 00:36// author: realrender// para:// return:// note: 这段代码来自directx 7.0 sample中的d3dtextr.cpp,我把他提取了出来// 方便使用//-----------------------------------------------------------------------bool loadtgafile( tchar* strpathname, dword** prgbabuffer, long* width, long* height ){file* file = fopen( strpathname, "rb" )。文本文件的结束符ascii码值为1ah(ctrl+z键),可能不带结束符(可通过读取成功而实际读入的字节数为0来判断到文件尾),也可能文件中间插有结束符(可通过一次读取多个字符来取代逐一字符读取的方式,通过读取成功但读入实际字节数为0判断文件结束)。 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。

比如。。

<form class="J_form_download" method="post" action="download.php">
	<input name="url" value="" type="hidden">
</form>

用js可以实现对这么form的控制,当我利用js实现form的提交操作,那么就是寻找并执行这个download.php文件。

这个时候就可以把你想用download.php实现你想要的下载的功能。具体怎么实现的看下面这段代码:

<?php
 
/**
 * 文件下载
 *
**/
header("Content-type:text/html;charset=utf-8");
download('web/magento-1.8.1.0.zip', 'magento下载');
function download($file, $down_name){
 $suffix = substr($file,strrpos($file,'.')); //获取文件后缀
 $down_name = $down_name.$suffix; //新文件名,就是下载后的名字
 //判断给定的文件存在与否 
 if(!file_exists($file)){
  die("您要下载的文件已不存在,可能是被删除");
 } 
 $fp = fopen($file,"r");
 $file_size = filesize($file);
 //下载文件需要用到的头
 header("Content-type: application/octet-stream");
 header("Accept-Ranges: bytes");
 header("Accept-Length:".$file_size);
 header("Content-Disposition: attachment; filename=".$down_name);
 $buffer = 1024;
 $file_count = 0;
 //向浏览器返回数据 
 while(!feof($fp) && $file_count < $file_size){
  $file_con = fread($fp,$buffer);
  $file_count += $buffer;
  echo $file_con;
 } 
 fclose($fp);
}
?>

php 批量下载远程图片_php 下载图片 最快_php下载

几点注意事项:

header("Content-type:text/html;charset=utf-8")的作用:在服务器响应浏览器的请求时,告诉浏览器以编码格式为UTF-8的编码显示该内容

关于file_exists()函数不支持中文路径的问题:因为php函数比较早,不支持中文,所以如果被下载的文件名是中文的话,需要对其进行字符编码转换,否则file_exists()函数不能识别php 下载图片 最快,可以使用iconv()函数进行编码转换

$file_sub_path() 我使用的是绝对路径,执行效率要比相对路径高

Header("Content-type: application/octet-stream")的作用:通过这句代码客户端浏览器就能知道服务端返回的文件形式

Header("Accept-Ranges: bytes")的作用:告诉客户端浏览器返回的文件大小是按照字节进行计算的

Header("Accept-Length:".$file_size)的作用:告诉浏览器返回的文件大小

Header("Content-Disposition: attachment; filename=".$file_name)的作用:告诉浏览器返回的文件的名称

php 批量下载远程图片_php下载_php 下载图片 最快

以上四个Header()是必需的

fclose($fp)可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

利用js实现图片下载的功能

简单的参考

<head runat="server">
    <title>文件下载</title>
</head>
<script type="text/javascript" >
    // 使用JS实现下载.jpg、.doc、.txt、.rar、.zip等文件的方法(参数 imgOrURL 为需要下载的图片的URL地址)
    // 使用该方法实现下载压缩文件时会有网页错误信息提示
    // .doc、.rar、.zip 文件可以直接通过文件地址下载,
    // 如:<a href="../Images/test.doc" >点击下载文件</a> <a href="../Images/test.zip" >点击下载文件</a>
    function saveImageAs(imgOrURL) {
        if (typeof imgOrURL == 'object')
            imgOrURL = imgOrURL.src;
        window.win = open (imgOrURL);
        setTimeout('win.document.execCommand("SaveAs")', 500);
    }
    // 使用JS实现下载.txt、.doc、.txt、.rar、.zip等文件的方法(参数 fileURL 为需要下载的图片的URL地址)
    // 使用该方法实现下载压缩文件时不会有网页错误信息,但是不能使用该方法下载.jpg图片文件
    // .doc、.rar、.zip 文件可以直接通过文件地址下载,
    // 如:<a href="../Images/test.doc" >点击下载文件</a> <a href="../Images/test.zip" >点击下载文件</a>
    function savetxt(fileURL){
        var fileURL=window.open (fileURL,"_blank","height=0,width=0,toolbar=no,menubar=no,scrollbars=no,resizable=on,location=no,status=no");
        fileURL.document.execCommand("SaveAs");
        fileURL.window.close();
        fileURL.close();
    }
    // 功能类似savetxt方法,但是下载时初始文件名为code.txt,而不是跟目标文件名相同
    function svcode(obj) { 
        var winname = window.open('', '_blank', 'height=1,width=1,top=200,left=300'); 
        winname.document.open('text/html', 'replace'); 
        winname.document.writeln(obj.value); 
        winname.document.execCommand('saveas','','code.txt'); 
        winname.close(); 
    }
</script>
<body>
    <div>
        <br />
        <a href="javascript: void 0" οnclick="savetxt('../Images/test.txt'); return false">点击下载文件</a>
        <br /><br />
        <a href="javascript:savetxt('../Images/test.txt')" >点击下载文件</a>
        <br /><br />
        <!-- .doc、.rar、.zip 文件可以直接通过文件所在地址下载 -->
        <a href="../Images/test.doc" >点击下载文件</a>
        <br /><br />
        <a href="../Images/test.zip" >点击下载文件</a>
    </div>
</body>

html5

爬虫没有办法识别图片,但爬虫却可以抓取图片的alt属性,所以我们要确保网站内图片的alt属性都和网站主题尽可能相关,添加alt标签,来说明图片的意思,这点尤为重要。jpg图片浏览器v1.3.1 官方最新版中文更新时间:3-24 jpg图片查看器是一款非常好用的jpg图片浏览软件,支持将图片进行压缩和拉伸,支持图片的查找和导入,导入速度快,浏览体验极佳,喜爱的朋友赶快到绿色资源网下载使用吧。e影浏览器具有的主要功能:网络营销宣传、高速文件查找器、安全过滤弹出窗口、鼠标手势、随意拖放、多标签多行标签、隐藏浮动元素功能(可过滤浮动广告)、代理上网、智能填表自动填表、智能自动操作、本地图片浏览、本地自动播放、媒体播放视频播放以及人性化的用户操作体验等功能。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-115358-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...