远程下载图片
来源:互联网 发布:python网页架构 编辑:程序博客网 时间:2024/04/19 14:22
需求: 数据库表中存储的图片是远程地址服务器上的图片,现在要全部下下来本地保存,保存图片名字要匹配节目名字(中文字符)?
采用办法:
$sql = "SELECT name,logo from program";$rs = mysql_query($sql);while ($program = mysql_fetch_array($rs, MYSQL_ASSOC)) { $imagesURL = $program['logo']; $newImg = $program['name'].".jpg"; $newImg = iconv("UTF-8","GB2312//IGNORE",$newImg) ; file_put_contents("../audioImg/". $newImg , file_get_contents($imagesURL));}exit;
出现的问题: 保存的文件名字都是乱码,处理办法,对我们拼接的utf8的$newImg文件名进行转码至GB2312,这样就搞定了。
拓展知识分享:
对于远程文件访问,考虑使用的PHP提供的cURL功能。
用curl远程读取的方法:
第一,allow_url_fopen=ON的情况下:
$str = file_get_contents("http://www.csdn.net/");
if ($str !== false) {
// do something with the content
echo $str;
}
?>
第二,allow_url_fopen = Off的情况下:
$ch = curl_init("http://www.csdn.net/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$str = curl_exec($ch);
if ($str !== false) {
// do something with the content
echo $str;
}
curl_close($ch);
?>
补充:
<?php // // Function: 获取远程图片并把它保存到本地 // // // 确定您有把文件写入本地服务器的权限 // // // 变量说明: // $url 是远程图片的完整URL地址,不能为空。 // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. function GrabImage($url,$filename="") { if($url==""):return false;endif; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg"):return false;endif; $filename=date("dMYHis").$ext; } ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); $size = strlen($img); $fp2=@fopen($filename, "a"); fwrite($fp2,$img); fclose($fp2); return $filename; } $img=GrabImage("http://www.php100.com/images/_1978837_detector_ap100.jpg",""); if($img):echo '<pre><img src="'.$img.'"></pre>'; else:echo "false"; endif; ?>
- 远程下载图片!
- vc++ 下载远程图片
- 远程下载图片
- 下载远程图片
- php远程下载图片
- PHP下载远程图片
- 远程下载图片
- 利用xmlhttp远程下载图片,asp 下载远程图片
- C#替换下载远程图片
- Android多线程下载远程图片
- Android多线程下载远程图片
- Android多线程下载远程图片
- php 下载远程图片 函数
- php实现远程下载图片
- php下载远程的图片
- Android多线程下载远程图片
- 使用Silverlight2的WebClient下载远程图片
- php 使用GD库下载远程图片
- 删除文件的技巧
- android4.0增加遥控器按键步骤<2>
- android adb 没法识别
- 学习在win7上搭建android开发平台
- Python : 反斜杠
- 远程下载图片
- Spring在ssh中的作用
- 流媒体Live555学习(一)
- DirectX 9.0 SDK
- JS判断手机浏览器
- 将DataSet中的内容输出到Excel文件
- 判断点在多边形内部的方法(Java版)
- 大话设计模式之UML
- java虚拟机 换时区