다음은 PHP를 사용하여 온라인 이미지를 다운로드하는 데 일반적으로 사용되는 세 가지 방법입니다. 물론 이 세 가지 방법이 만능은 아닙니다. 네트워크 문제나 온라인 이미지 권한 문제로 인해 다운로드가 실패하는 경우도 있습니다(대형 사이트에는 일반적으로 리칭 방지 보호 기능이 있습니다).
실제 업무에서 자주 사용되는 단어를 살펴보겠습니다.
장점: 간단합니다.
단점: 상대적으로 효율성이 낮습니다.
이 방법에 사용되는 주요 기능은 file_get_contents
와 file_put_contents
두 가지입니다. 파일에 넣으세요. file_get_contents
以及file_put_contents
这种方法非常简单,通俗的讲就是先get到图片内容,然后put到文件中。
代码如下:
<?php $imgFile = 'http://***.***.***/Uploads/20200424/1587710975CZlGeB.jpg'; // 获取文件名 $imgName = trim(strrchr($imgFile, '/'), '/'); file_put_contents($imgName, file_get_contents($imgFile));
个人用的最多的方法。
缺点:稍微复杂点,要掌握curl
的用法,需要知道curl一些选项的含义。
优点:效率高,很容易支持https;
curl非常强大,也是phper必须掌握的技能,所以建议大家使用该方法。该方法的思路是,使用curl工具获取远程图片的信息,然后将该信息保存到本地的文件中。这里我没有对curl_exec
개인이 가장 많이 사용하는 방법입니다. 단점:$imgFile = 'https://***.***.***/uploads/20200121/bd873d80da430f8b74ef1ee751945595.png'; function down_img($imgUrl) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $imgUrl); // 请求地址 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 不直接输出信息 // 可以访问https请求 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 执行curl并获取数据 $results = curl_exec($ch); $imgName = trim(strrchr($imgUrl, '/'), '/'); $fp = fopen($imgName, 'w'); fwrite($fp, $results); // 执行完毕后,记得关闭资源 curl_close($ch); } down_img($imgFile);로그인 후 복사방법 2
curl
사용법을 익히려면 일부 컬 옵션의 의미를 알아야 합니다. 장점: 높은 효율성, https 지원 용이 curl은 매우 강력하고 PHPer가 마스터해야 하는 기술이므로 모든 사람이 이 방법을 사용하는 것이 좋습니다. 이 방법의 아이디어는 컬 도구를 사용하여 원격 이미지의 정보를 얻은 다음 해당 정보를 로컬 파일에 저장하는 것입니다. 게을러서 여기에서는 curl_exec
의 결과를 확인하지 않았습니다. 🎜 컬의 사용법에 대해 더 알고 싶으시면 PHP 중국어 홈페이지에서 컬을 검색하시면 됩니다. 🎜🎜<?php $imgFile = ' $imgName = trim(strrchr($imgFile, '/'), '/'); // 读取远程图片资源 $source = fopen($imgFile, 'rb'); // 创建本地文件资源句柄,用于保存图片信息 $down = fopen($imgName, 'wb'); while ($chunk = fread($source,1024)){ fwrite($down, $chunk, 1024); } fclose($source); fclose($down);
위 내용은 PHP에서 네트워크 이미지를 다운로드하는 데 일반적으로 사용되는 세 가지 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!