在使用curl_file_create()方法的时候,需要知道文件的绝对路径,上传的时候用$_FILES是可以获取到的,有些场景是先上传到服务器之后,再从接口把图片传给上游,这样就需要知道文件的绝对路径了
$file = '/uploads/20200409/3be305a9f2f5d8a2baafd88730a6229b.jpg'; //先从数据库里面读取图片的地址
$info = pathinfo($file); //使用pathinfo()方法获取图片的信息
使用$_SERVER['DOCUMENT_ROOT']获取文件服务器的根目录
图片的绝对地址:$_SERVER['DOCUMENT_ROOT'].'/'.$info['dirname'].'/'.$info['basename']
现在使用
curl_file_create($_SERVER['DOCUMENT_ROOT'].'/'.$info['dirname'].'/'.$info['basename'], 'image/jpeg', $info['basename'])
就可以搞定了