很多站长朋友们都不太清楚php网站下载图片,今天小编就来给大家整理php网站下载图片,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP 怎么下载没有后缀的图片 2、 PHP中如何下载图片 3、 php 怎么从网上下载图片到本地 PHP 怎么下载没有后缀的图片保存比较简单,使用 file_get_contents 和 file_put_contents ,比较麻烦(应该是没想到)的是如何获取图片类型,这个可以通过响应头来判断,响应头有一个属性 Content-Type ,它就是 mime ,做好 mime 和 文件扩展名的映射,就可以知道文件的扩展名了。下面这个函数可以做个参考:
/*
* 保存图片
* @param $url 要保存的链接
* @return 保存的字节数,失败则返回 false
*/
function saveFile($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);
return file_put_contents($file, $contents);
}
}
return false;
}
PHP中如何下载图片直接用
$img=file_get_contents("图片地址");
file_put_contents("test.jpg",$img);//将图片保存成test.jpg
php 怎么从网上下载图片到本地我想告诉你,除了显示网址,然后“另存为”或者用迅雷之类的下载外,php真的还无法下载到本地,好像是因为权限什么的。
我琢磨了好久都不可能下载到本地,除非你的服务器是建立在本地的。
我自己写了一个函数,用来拷贝图片的,用copy()不行。
你可以看看,其他文件格式同理。
//----------------------拷贝图片(包括网络图片)到指定网址------------------
//-------适用于图片类型包括: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网站下载图片 网站的php文件下载的详细内容...