本文目录一览:
- 1、php curl get 下载远程zip文件保存在本地例子
- 2、通过PHP实现下载远程指定链接js并根据命名规则保存在本地服务器中
- 3、thinkphp用file_put_contents()保存远程图片到服务器
- 4、php保存远程文件到文件夹
php curl get 下载远程zip文件保存在本地例子
?php
if($_POST['submit']){
$url=$_POST['url']; //取得提交过来的地址
$url=urldecode($url);
$fname=basename("$url"); //返回路径中的文件名部分 fetion_sms.zip
$str_name=pathinfo($fname); //以数组的形式返回文件路径的信息
$extname=strtolower($str_name['extension']); //把扩展名转换成小写
//$uptypes=explode(",",$forum_upload); //取得可以上传的文件格式
//$size=getFileSize($url);
$time=date("Ymd",time());
$upload_dir="./upload/";//上传的路径
$file_name=$time.rand(1000,9999).'.'.$fname;
$dir=$upload_dir.$file_name;//创建上传目录
//判断目录是否存在 不存在则创建
if(!file_exists($upload_dir)){
mkdir($upload_dir,0777,true);
}
$contents=curl_download($url,$dir);
if($contents){
echo "下载成功";
}else{
echo "下载失败";
}
}
function curl_download($url, $dir) {
$ch = curl_init($url);
$fp = fopen($dir, "wb");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res=curl_exec($ch);
curl_close($ch);
fclose($fp);
return $res;
}
?
!DOCTYPE html
html lang="zh-CN"
head
meta
meta charset="utf-8" /
meta name="viewport" content="width=device-width, initial-scale=1"
title远程下载文件/title
form name="upform" method="post" action="" enctype='multipart/form-data'
input name='url' type='text' size='20'/
input type='submit' name='submit' value='远程下载'/
/form
/body
/html
通过PHP实现下载远程指定链接js并根据命名规则保存在本地服务器中
$file = date('YmdHis').".js"; //文件保存路径
$jsCon = file_get_contents(""); //获取远程文件内容
file_put_contents($file, $jsCon); //写入到本地文件
thinkphp用file_put_contents()保存远程图片到服务器
你在逗我,怎么可能直接用程序直接写入另一个服务器。
我的思路是(没有试验过)
转换为图片为二进制文件进行上传到另一个服务器进行处理保存
转换图片为base64 用curl请求服务器进行处理
模拟表单请求
php保存远程文件到文件夹
具体看步骤吧:
function getFile($url,$save_dir='',$filename='',$type=0){
if(trim($url)==''){
return false;
}
if(trim($save_dir)==''){
$save_dir='./';
}
if(0!==strrpos($save_dir,'/')){
$save_dir.='/';
}
//创建保存目录
if(!file_exists($save_dir)!mkdir($save_dir,0777,true)){
return false;
}
//获取远程文件所采用的方法
if($type){
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$content=curl_exec($ch);
curl_close($ch);
}else{
ob_start();
readfile($url);
$content=ob_get_contents();
ob_end_clean();
}
$size=strlen($content);
//文件大小
$fp2=@fopen($save_dir.$filename,'a');
fwrite($fp2,$content);
fclose($fp2);
unset($content,$url);
return array('file_name'=$filename,'save_path'=$save_dir.$filename);
}
getFile($url,$save_dir,$filename,1)//调用