PHP가 로컬 영역에 파일을 다운로드하는 샘플 코드에 대한 자세한 설명
Mar 14, 2017 am 09:46 AM참고: 이 데모는 yii프레임워크에 적합합니다. yii 프레임워크를 사용하지 않는 경우에도 이 방법을 적용할 수 있습니다.
/** * 保存文件到本地 * @param 文件路径 $url * @param 保存本地路径 $savePath * @return string */ public static function downloadFile($url) { $www_root = Yii::getPathOfAlias('webroot'); $root_dir = 'uploads/audio'; $build_dir = date('Y') . '/' . date('m'); $origin_dir = $root_dir . '/' . $build_dir; $savePath = $www_root . DIRECTORY_SEPARATOR . $origin_dir . DIRECTORY_SEPARATOR;// 本地存放的路径(我是按照年月日来划分) $fileName = Common::getUrlFileExt($url); // 获取文件扩展名 if (!file_exists($savePath)) { Common::mkdirs($savePath); //目录不存在创建目录 } $fileName = time() . '.' . $fileName; //$file = file_get_contents($url); $ch = curl_init(); $timeout = 60; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); //使用curl $ch 为返回的文件流 if (!empty($file_contents)) { file_put_contents($savePath . '/' . $fileName, $file_contents); //保存到本地的地址 return '/' . $origin_dir . '/' . $fileName; //返回本地地址 } } /** * 获取文件扩展名 * @param 网页URL $url * @return string */ public static function getUrlFileExt($url) { $ary = parse_url($url); $file = basename($ary['path']); $ext = explode('.', $file); return $ext[1]; }
로그인 후 복사
/** * 创建多级目录 */ public static function mkdirs($dir) { if (!is_dir($dir)) { if (!Common::mkdirs(dirname($dir))) { return false; } if (!mkdir($dir, 0777)) { return false; } } return true; }
로그인 후 복사
downloadFile(http://www.php.cn/); // 调用
로그인 후 복사
위 내용은 PHP가 로컬 영역에 파일을 다운로드하는 샘플 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7135
9


자바 튜토리얼
1534
14


라라벨 튜토리얼
1257
25


PHP 튜토리얼
1205
29


Cakephp 튜토리얼
1155
46



Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법
