PHP抓取远程图片教程(包含不带后缀图片)
之前做微信登录开发时候,发现微信头像图片没有后缀名,传统的图片抓取方式不奏效,需要特殊的抓取处理。所以,后来将各种情况结合起来,封装成一个类,分享出来。 创建项目 作为演示,我们在www根目录创建项目grabimg,创建一个类GrabImage.php和一个index.php。 编写类代码 我们定义一个和文件名相同的类:GrabImage 1 2 class GrabImage{ } 属性 接下来定义几个需要使用的属性。 1、首先定义一个需要抓取的图片地址:$img_url 2、再定义一个$file_name用来存储文件的名称,但是不携带拓展名,因为可能涉及到拓展名更换,所以这里拆开定义 3、紧接着就是拓展名$extension 4、然后我们定义一个$file_dir,该属性的作用是,远程图片抓取到本地后所存储的目录,一般相对于PHP入口文件所在的位置作为起始。但是该路径一般不保存到数据库。 5、最后我们定义一个$save_dir,顾名思义,该路径是用来直接保存的数据库的目录。这里说明下,我们不直接存储文件保存路径到数据库,一般是为了之后如果系统迁移,方便更换路径做准备。我们这里的$save_dir一般为日期 + 文件名,如果需要使用时候取出,在前方拼上所需要的路径。 方法 属性弄完了,接下来我们正式开始抓取工作。