抓取图片内容,php内置函数file_get_contents()不能用可以使用下面方法,抓取的文件是文件流的形式,如果是直接上传的图片用下面的curl抓取就不一定好用了
$img_url = $aa['Data']['ImageURL'];//这里是图片文件流
$img_date = time();
$ch = curl_init ($img_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
// 如果是https的话,就加上这两句
// https请求 不验证证书和hosts
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$img = curl_exec ($ch);
curl_close ($ch);
$image_name = "uploads/images" . "/" . $img_date . ".png";
//$image_name就是要保存到什么路径,默认只写文件名的话保存到根目录
$fp = fopen($image_name,'w');//保存的文件名称用的是链接里面的名称
fwrite($fp, $img);
fclose($fp);
$imgg = "http://applets.maymotion.com/".$image_name;
return $this->test_code(0,$imgg);
建议使用如下方法:
//这里是在tp5里写的上传视频方法,不过上传视频和图片都差不多
public function video_add(){
$video = $_FILES["video"];
$imagesExt=['mp4'];//上传视频用的
$path = "./uploads/video";//上传视频用的
//$imagesExt=['jpg','png','gif','jpeg'];//上传图片用的
//$path = "./uploads/image";//上传图片用的
$ext = strtolower(pathinfo($video['name'],PATHINFO_EXTENSION));
// 判断文件类型
if (!in_array($ext,$imagesExt)){
return $this->code(1,"error","文件类型需要是mp4格式的");
}
// 判断是否存在上传到的目录
if (!is_dir($path)){
mkdir($path,0777,true);
}
// 生成唯一的文件名
$fileName = md5(uniqid(microtime(true),true)).'.'.$ext;
// 将文件名拼接到指定的目录下
$destName = $path."/".$fileName;
// 进行文件移动
if (!move_uploaded_file($video['tmp_name'],$destName)){
return 1001;//文件上传失败
}
$src = "域名/uploads/video/".$fileName;
}