导航:首页 > 编程语言 > phpheader下载图片

phpheader下载图片

发布时间:2022-06-11 02:40:09

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真的还无法下载到本地,好像是因为权限什么的。
我琢磨了好久都不可能下载到本地,除非你的服务器是建立在本地的。

我自己写了一个函数,用来拷贝图片的,用()不行。
你可以看看,其他文件格式同理。
//----------------------拷贝图片(包括网络图片)到指定网址------------------
//-------适用于图片类型包括: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利用表头来下载文件,利用header()类下载文件

手册上不都有吗:

<?php
$file='monkey.gif';

if(file_exists($file)){
header('Content-Description:FileTransfer');
header('Content-Type:application/octet-stream');
header('Content-Disposition:attachment;filename='.basename($file));
header('Content-Transfer-Encoding:binary');
header('Expires:0');
header('Cache-Control:must-revalidate');
header('Pragma:public');
header('Content-Length:'.filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

④ php如何实现下载图片

if(isset($_GET[filename])){

$filename=$_GET[filename];//获取参数
header('Content-type: image/jpeg');
header("Content-Disposition: attachment; filename='$filename'");
//注意:header函数前确保没有任何输出

exit;//结束程序
}

⑤ 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测试文件下载功能,但是下载下来的图片却总是损坏的,代码如下:

<?php
header("Content-type:image/pjpeg");
echofile_get_contents("./201404/1.jpg");
?>

⑦ PHP如何实现图片的下载,下面的图片路径可以直接打开,但是下载后打开就文件损毁或损坏。

⑧ php或者js实现网页中图片点击能够直接下载

header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename={$filename}");
header("Content-length: " . filesize($file));
readfile($file);

⑨ 为什么我php用header下载图片,打开是空的,我看到你解决了,求帮助

functioncurlDownloadRemote($remote,$local){
$curl=curl_init($remote);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$imageData=curl_exec($curl);
curl_close($curl);
$dir=dirname($local);
if(!is_dir($dir)){
@mkdir($dir,0755,true);
}
$tp=@fopen($local,'w');
fwrite($tp,$imageData);
fclose($tp);
}

⑩ php中怎么实现文件下载功能

两种方法:

1.直接做个超链接,地址为文件的地址

<ahref="文件地址">下载</a>

2.流输出

<?php

$file=fopen('文件地址',"r");

header("Content-Type:application/octet-stream");

header("Accept-Ranges:bytes");

header("Accept-Length:".filesize('文件地址'));

header("Content-Disposition:attachment;filename=文件名称");

echofread($file,filesize('文件地址'));

fclose($file);

?>

推荐第二种

因为第一种方法只能下载浏览器不能解析的文件,比如rar啊,脚本文件之类。如果文件是图片或者txt文档,就会直接在浏览器中打开。

而第二种方法是直接输出的文件流,不存在上述问题。

你可以检查一下你传值过来的路径是否正确,还有,流输出后面不要再进行任何操作了。

拓展资料:

集成开发环境是一种集成了软件开发过程中所需主要工具的集成开发环境,其功能包括但不仅限于代码高亮、代码补全、调试、构建、版本控制等。一些常见的PHP IDEs如下:

PHP的特性包括:

1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3. PHP支持几乎所有流行的数据库以及操作系统。

4. 最重要的是PHP可以用C、C++进行程序的扩展!

参考资料:网络:PHP

阅读全文

与phpheader下载图片相关的资料

热点内容
64位java内存 浏览:418
女程序员学习方法 浏览:383
工程数学线性代数pdf 浏览:681
提升程序员技术档次的书 浏览:691
python词云图txt格式 浏览:968
韩国料理pdf 浏览:227
什么app就能知道自己的脸型 浏览:383
准了app月卡可以看什么 浏览:140
云服务器开机要开30秒 浏览:646
php数组传递给js 浏览:640
在世纪的转折点上pdf 浏览:857
变频制冷压缩机性能实验 浏览:575
印刷哪个app好 浏览:367
安卓手机如何查看连接过的wifi密码 浏览:461
chrpythonord 浏览:353
android切片 浏览:231
前端js调用php 浏览:591
文件夹res是什么 浏览:488
linuxput命令 浏览:932
智能仿生算法模拟退火 浏览:903