㈠ PHP 怎样实现图片下载,而不是打开
代码如下:
<?php
//对函数的说明
//参数说明 $file_name 文件名
//$file_sub_dir: 下载文件的子路径 '"/xxx/xxx/"
function down_file($file_name,$file_sub_dir){
//死去活来,演示下载一个图片.
//如果文件是中文.
//原因 php文件函数,比较古老,需要对中文转码 gb2312
$file_name=iconv("utf-8","gb2312",$file_name);
//绝对路径
$file_path=$_SERVER['DOCUMENT_ROOT'][
].$file_sub_dir.$file_name;
//1.打开文件
if(!file_exists($file_path)){
echo "文件不存在!";
return ;
}
$fp=fopen($file_path,"r");
//2.处理文件
//获取下载文件的大扮源小
$file_size=filesize($file_path);
if($file_size>30){
echo "<script language='javascript'厅纳态>window.alert('过大')</script>";
return ;
}
//返回的文件
header("Content-type: application/octet-stream");
//按照字节大小返回
header("Accept-Ranges: bytes");
//返回文件大小
header("Accept-Length: $file_size");
//这里客户端的弹出对话框,对应的文件名
header("Content-Disposition: attachment; filename=".$file_name);
//向客户端回送数据
$buffer=1024;
//为了下载的安全,我们最好做一个文件字节读取计数器
$file_count=0;
//这句话用于判断文件是否结束
while(!feof($fp) && ($file_size-$file_count>0) ){
$file_data=fread($fp,$buffer);
//统计读了多少个字节
$file_count+=$buffer;
//茄没把部分数据回送给浏览器;
echo $file_data;
}
//关闭文件
fclose($fp);
}
//测试函数是否可用
down_file("顺平.jpg","/http/down/");
?>
㈡ 如何批量下载php图片
打开写字本,知敏把以下内容复制进去:ren *.php *.jpg
然后存为一个文件名,扩展搭昌枝名为.bat的批处理文件,然后放到你下载的所有PHP里面,运行批处理文件,全部迅型的文件名都修改过来了。
㈢ php如何通过URL批量下载图片,这些图片是设计作品,
如果URL有规则,那么可以考虑js做前端,php做后端
具体思路如下
js发送ajax请求给php,php抓取图片,抓取完毕响应前端,前端提示完成(或者更新进度条),然后前端js再次发起ajax请求,直至全部抓取完毕
对了 url有规律的话 用迅雷下载也是挺不错的
㈣ 微信浏览器中,php怎么下载图片到手机中
第一种办法就是长按图片,然后谈皮打开加载完成之后和侍皮再点击长安直接点保存。另一个就是用其他方式打开,选择正常的浏览器打开之后,长按住想保存的图片保存就可以了。特别唤差简单,你可以试一下。
㈤ PHP 怎么下载没有后缀的图片
保存比较简单,使用 file_get_contents 和 file_put_contents ,比较麻烦(应该是没想到)的是如何获取图片类型,这个可以通过响应头来判断,响应头有一个属性 Content-Type ,它就是 mime ,做好 mime 和 文件扩展名的映射,就可以知道文件的扩展名了。下面这个函数可以做个参考:
/*
*保存图片
*@param$url要保存的链接
*@return保存的字节数,失败则返回false
*/
functionsaveFile($url)
{
//mime和扩展名的映射
$mimes=array(
'image/bmp'=>'bmp',
'image/gif'=>'gif',
樱或'image/jpeg'=>'jpg',
'image/png'=>'喊漏png',
);
//获取响应头
if(($headers=get_headers($url,1))!==false)
{
//获取响应的类型
$type=$headers['Content-Type'];
//如果符合我们要的类型
if(isset($mimes[$type]))
{
$fileName=uniqid();
$ext=$mimes[$type];
$file="temp/$fileName.$ext";
//获取数据并保存郑颂烂
$contents=file_get_contents($url);
returnfile_put_contents($file,$contents);
}
}
returnfalse;
}
㈥ php如何实现批量下载图片
首先你要创建一个压缩文件,然高洞数后让浏览器下载该文件。
关于创建压缩文件:PHP本身提供zip扩展,还有其他第三方库提供制作zip压缩包的功能。使用方戚首法很简单,请参考这些类库的手册。
关于浏览器下载文件,这里有一段示例代码:
$zipdata='这里是压缩文件的颤纳数据';
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:".strlen($zipdata));
header("Content-Disposition:attachment;filename=archive.zip");
echo$zipdata;
㈦ php 怎么从网上下载图片到本地
我想告诉你,除了显示网址,然后“另存为”或者用迅雷之类的下卖闭灶载外,php真的还无法下载到本地,好像是因为权限什么的。
我琢磨了好久中扮都不可能下载到本地,除非你的服务器是建立在本地的。
我自己写了一个函数,用来拷贝图片的,用()不行。
你可以看看,其他文件格式同态喊理。
//----------------------拷贝图片(包括网络图片)到指定网址------------------
//-------适用于图片类型包括:jpeg、gif、png-----------
function down_image($url1,$url2){//---$url1为源网址,$url2为目标网址---
$url1_info=pathinfo($url1);
$url2_info=pathinfo($url2);
$msg="拷贝成功!";
if($url1_info[extension]==$url2_info[extension]){
switch ($url1_info[extension]){
case "jpg":
$img=imagecreatefromjpeg($url1);
imagejpeg($img, $url2);
break;
case "gif":
$img=imagecreatefromgif($url1);
imagegif($img, $url2);
break;
case "png":
$img=imagecreatefrompng($url1);
imagepng($img, $url2);
break;
}
}else{
$msg="文件类型不正确,拷贝失败";
}
return $msg;
}
㈧ php如何下载动态图片保存到本地
php 远程下载文件
function http($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) && !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}
㈨ PHP中如何下载图片
直接用
$img=file_get_contents("图片喊衫地址");
file_put_contents("test.jpg",$img);//将枯简图片没渗裤保存成test.jpg