php怎么将图片保存到本地

php怎么将图片保存到本地

日期:2022年3月27日 上午10:12 分类:php学习汇总

function getImage($url,$save_dir='',$filename='',$type=1){

if(trim($url)==''){

return array('file_name'=>'','save_path'=>'','error'=>1);

}

if(trim($save_dir)==''){

$save_dir='./';

}

if(trim($filename)==''){//保存文件名

$ext = strrchr($url,'.');

if($ext!='.gif'&&$ext!='.jpg'){

return array('file_name'=>'','save_path'=>'','error'=>3);

}

$filename=time().$ext;

}

if(0!==strrpos($save_dir,'/')){

$save_dir.='/';

}

//创建保存目录

if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){

return array('file_name'=>'','save_path'=>'','error'=>5);

}

//获取远程文件所采用的方法

if($type){

$ch=curl_init();

$timeout=5;

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);

$img=curl_exec($ch);

curl_close($ch);

}

else{

ob_start();

readfile($url);

$img=ob_get_contents();

ob_end_clean();

}

$size=strlen($img);

echo $size;

//文件大小

$fp2=fopen($save_dir.$filename,'a');

fwrite($fp2,$img);

fclose($fp2);

unset($img,$url);

return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);

}



点这里获得人工在线支持,快速解决电脑、网络和网站等问题!

为您推荐


北京精雕软件 雕塑冲压,磨光,都看不见范围红圈了

雕塑冲压,磨光,都看不见范围红圈了,这个原因是精雕软件太老了,对独立显卡驱动不好友造成的,也就是显卡驱动不兼容!   解决方法,直接把独显禁用,精雕就正常了。

win10个性化背景图删除方法

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers 打开注册表,找到上面值里删除即可。

win11跳过联网激活方法

首次开机进入设置页面 ① 按 Shift+F10键,打开命令行程序(部分笔记本选按 Fn+shift+F10); ② 进命令行输入: oobe\bypassnro 然后敲击回车 (如果无法输入文字,需要鼠标点下窗口,才能输入!); ③ 电脑自动重启,再次进入联网界面,下面多出了“ 我没有Internet连接”选项,此时点击此选项,可继续进行后续设置。

win11添加共享打印机的时报0x000006ba错误解决方法

win11添加共享打印机的时候遇到0x000006ba错误怎么解决   运行 services.msc命令,注意这里的英文单词是services,结尾带s的。然后在弹出的服务列表里查看Print Spooler服务,这是有关打印机的服务。     点选Print Spooler服务,双击鼠标左键,在弹出的界面里,查看服务状态,出问题时,服务状态为已停止……

Win11推送KB5016691预览更新修复打印机BUG

微软为Win11推送了KB2016691预览版更新,在此次更新中,微软又一次修复了多个与打印机相关的Bug。   在安装补丁后,重新启动或安装打印机不再会出现故障;从Internet打印协议类驱动程序切换到独立硬件驱动程序后,也不再会进入错误模式;同时,此前阻止访问设备功能的双向通信问题也获得了解决。   除了打印机……

Win11打印机共享时提示709错误解决方法

方法一:卸载补丁   Win10 卸载有问题的补丁KB5006667或KB5006670;win11回退回退到旧版本。   方法二:文件替换   把系统win32spl.dll文件替换为就版本的即可。批处理文件见附件,找到对应的系统,右键以管理员身份运行就可以了。   方法三:不用卸载补丁方法   新建记事本文档,输入如下内容……

版权声明:

fm0898.com小部分文章引用或者参考了网络上传播的部分开源开放代码,我站采用的这部分代码仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请 联系我们并出示版权证明以便删除 !