㈠ php 批量大文件上传下载如何实现
1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;
2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;
3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。
4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!
㈡ php制作文件上传系统需要另外安装东西吗
asp 需要fso支持。对asp的知道点皮毛。
php不需要安装组件,内置的几个函数就搞定了。
前端:
<form action="upload.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input name="file" type="file" id="file" class="upload"/>
<input type="submit" name="Submit" value="<?=$lang["submit"]?>" style="border:1px #999999 solid;vertical-align:middle;height:18px"/>
</form>
提交处理:
move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile);
㈢ 求实现php文件上传代码
PHP上传文件非常简单,你需要一个上传的HTML文件(<FORM>),一个保存文件的PHP文件(保存),一个查询上传文件清单的工具。
真正实现完整功能的上传和管理需要使用数据库,我的网站俱乐部里面上传文件一开放很快就传了几万个文件。
最简单的方法不用数据库,可以用一个PHP文件实现,这个文件列出指定目录下的所有文件,然后提供一个上传的FORM,最后检测是否提交了FORM数据,是就保存文件到指定位置。
PHP手册第39章有关于处理这些问题的说明,我复制粘贴如下:
上一页V.特点下一页
--------------------------------------------------------------------------------
第39章文件上传处理
目录
POST方法上传
错误信息说明
常见缺陷
上传多个文件
对PUT方法的支持
POST方法上传
本特性可以使用户上传文本和二进制文件。用PHP的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
PHP能够接受任何来自符合RFC-1867标准的浏览器(包括NetscapeNavigator3及更高版本,打了补丁的MicrosoftInternetExplorer3或者更高版本)上传的文件。
相关的设置:请参阅php.ini的file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size以及max_input_time设置选项。
请注意PHP也支持PUT方法的文件上传,NetscapeComposer和W3C的Amaya客户端使用这种方法。请参阅对PUT方法的支持以获取更多信息。
例39.1.文件上传表单
可以如下建立一个特殊的表单来支持文件上传:<!--Thedataencodingtype,enctype,MUSTbespecifiedasbelow-->
<formenctype="multipart/form-data"action="__URL__"method="POST">
<!--MAX_FILE_-->
<inputtype="hidden"name="MAX_FILE_SIZE"value="30000"/>
<!--$_FILESarray-->
Sendthisfile:<inputname="userfile"type="file"/>
<inputtype="submit"value="SendFile"/>
</form>
以上范例中的__URL__应该被换掉,指向一个真实的PHP文件。
MAX_FILE_SIZE隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。
注意:要确保文件上传表单的属性是enctype="multipart/form-data",否则文件上传不了。
全局变量$_FILES自PHP4.1.0起存在(在更早的版本中用$HTTP_POST_FILES替代)。此数组包含有所有上传的文件信息。
以上范例中$_FILES数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为userfile。名称可随意命名。
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的MIME类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此MIME类型在PHP端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在PHP4.2.0版本中增加的。
文件被上传后,默认地会被储存到服务端的默认临时目录中,除非php.ini中的upload_tmp_dir设置为其它的路径。服务端的默认临时目录可以通过更改PHP运行环境的环境变量TMPDIR来重新设置,但是在PHP脚本内部通过运行putenv()函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。
例39.2.使文件上传生效
请查阅函数is_uploaded_file()和move_uploaded_file()以获取进一步的信息。以下范例处理由表单提供的文件上传。
<?php
//InPHPversionsearlierthan4.1.0,$HTTP_POST_FILESshouldbeusedinstead
//of$_FILES.
$uploaddir='/var/www/uploads/';
$uploadfile=$uploaddir.basename($_FILES['userfile']['name']);
echo'<pre>';
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
echo"Fileisvalid,andwassuccessfullyuploaded.\n";
}else{
echo"Possiblefileuploadattack!\n";
}
echo'Hereissomemoredebugginginfo:';
print_r($_FILES);
print"</pre>";
?>
接受上传文件的PHP脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用$_FILES['userfile']['size']变量来排除过大或过小的文件,也可以通过$_FILES['userfile']['type']变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在PHP端并不检查。自PHP4.2.0起,还可以通过$_FILES['userfile']['error']变量来根据不同的错误代码来计划下一步如何处理。不管怎样,要么将该文件从临时目录中删除,要么将其移动到其它的地方。
如果表单中没有选择上传的文件,则PHP变量$_FILES['userfile']['size']的值将为0,$_FILES['userfile']['tmp_name']将为空。
如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。
例39.3.上传一组文件
PHP的HTML数组特性甚至支持文件类型。
<formaction=""method="post"enctype="multipart/form-data">
<p>Pictures:
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="submit"value="Send"/>
</p>
</form>
<?php
foreach($_FILES["pictures"]["error"]as$key=>$error){
if($error==UPLOAD_ERR_OK){
$tmp_name=$_FILES["pictures"]["tmp_name"][$key];
$name=$_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,"data/$name");
}
}
?>
--------------------------------------------------------------------------------
上一页上一级下一页
38.处理XForms起始页错误信息说明
㈣ 怎样把下载的PHP建站系统上传到局域网上的WEB服务器上
1、局域网与互联网没有区别,是一样的操作,最多就是局域网只可以使用IP,不能使用域名。
2、安好就够了。
3、用FTP可以,直接用U盘拷贝过去也可以。把PHP文件拷贝到WEB服务器网站主目录下,数据库需要进行导入,或者拷贝到MYSQL\DATA文件夹下,打开你下载的压缩包,里面应该有说明。
㈤ php如何将上传的文件下载到本地指定目录下
出于安全考虑,浏览器对本地文件是没有任何操作选择,所以下载时只能人为选择存放路径。可以考虑使用控件来实现
㈥ 求php怎么实现web端上传超大文件
加大PHP上传文件大小的限制,是通过修改PHP.INI文件来实现,但是这个支持是有限度的,因为WEB协议本为下载而生,超大文件的上传是FTP的专利。
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。
1.file_uploads=on/off
是否允许通过http方式上传文件
2.max_execution_time=30
允许脚本最大执行时间,超过这个时间就会报错
3.memory_limit=50M
设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了
--enable-memory-limit标志的情况下才生效
4.upload_max_filesize=20M
允许上传文件的最大大小,此指令必须小于post_max_size
5.upload_tmp_dir
上传文件临时存放目录
6.post_max_size=30M
允许post方式可以接受最大大小
$_FILES['myFile']['name'] 客户端上次文件的原始名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的状态码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。
也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。
附:修改PHP上传文件大小限制的方法
1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M
3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
㈦ php连接ftp下载或上传文件
$conn_id = ftp_connect('localhost') or die('can\'t connect to ftp');
// login with username and password
$login_result = @ftp_login($conn_id, $ftpname, $ftppass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo '连接出错';
exit;
}
//$path 路径$fliename文件名多个文件上传
$dir=ftp_chdir($conn_id,$filename);//上传目录
$Name=array_filter(explode('|',$fliename));
foreach ($Name as $key=>$val){
ftp_put($conn_id, $val, $path.$val, FTP_BINARY)or die('上传失败!');
}
ftp_close($conn_id);
㈧ php 上传文件类
<?php
/*
* -------------------------------------------------
* @file : File.class.php
* @function : 文件相关的类
* @link : 星模PHP培训 www.xingmo.com
* @right : 2002-2009 Xingmo Inc
* @author : Kuai Yigang <KuaiYigang#xingmo.com>
* @date : 2005-3-25
* @update : 2010/1/30
* -------------------------------------------------
*/
class Files
{
/**
* 将上传文件转移到指定位置
*
* @param string $file_name
* @param string $target_name
* @return blog
*/
public function move_uploaded_file($file_name, $target_name = '')
{
if (function_exists("move_uploaded_file"))
{
if (move_uploaded_file($file_name, $target_name))
{
return true;
}
else
{
if (($file_name, $target_name))
{
return true;
}
else
{
return false;
}
}
}
else
{
if (($file_name, $target_name))
{
return true;
}
else
{
return false;
}
}
return false;
}
/******************************************
*函数:upload($fileArray,$uploaddir,$filename)
*作用:上传文件函数
*输入:$_FILES['userfile'],$uploaddir,$filename(不带后缀)
*输出:$fullname(整个文件名)
**
******************************************
*--制作--日期--
*[email protected] 2004-06-22 23:00
******************************************
*--修改--日期--目的--
*
*/
//有待修改,加上
public function upload($fileArray, $uploaddir, $filename)
{
//取得文件后缀
$suffix = $this->getExt($fileArray['name']);
//文件及路径
if(!file_exists($uploaddir))
{
$this->mkdirAll($uploaddir,0777);
}
//chmod($uploaddir,0777);
$fullname = $filename.".".$suffix;
$uploadfile = $uploaddir.'/'.$fullname;
if($this->move_uploaded_file($fileArray['tmp_name'], $uploadfile))
{
return $fullname;
}
else
{
return false;
}
}
/******************************************
*函数:getExt($file)
*作用:取得文件后缀
*输入:文件名,$_FILES['userfile']['name']
*输出:$ext(文件后缀)
**
******************************************
*--制作--日期--
*[email protected] 2004-12-19 14:08
******************************************
*--修改--日期--目的--
*
*/
public function getExt($file, $type=1)
{
if($type == 1)
{
$temp = explode('.', $file);
$ext = strtolower(array_pop($temp));//strtolower()转换成小写字符串 array_pop()将数组最后一个单元弹出
}
else if($type==2)
{
$ext = strtolower(end(explode('.', $file)));
}
else if($type==3)
{
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
}
else
{
$ext = strtolower(substr($file, strrpos($file, '.')+1));
}
return $ext;
//如果是图片,可以用getimagesize()
}
/******************************************
*函数:mkdirAll($filepath)
*作用:检查是否存在一个目录,如果不存在则创建之
*输入:$filepath(目录路径,如$UPLOAD.'/1/2/3/4')
*输出:true OR false
**
******************************************
*--制作--日期--
*[email protected] 2005-5-23
******************************************
*--修改--日期--目的--
*
*/
public function mkdirAll($filepath)
{
$temp = explode('/', $filepath);
$path = $temp[0].'/';
for($i=1; $i<count($temp); $i++)//count计算数组中的单元数目或对象中的属性个数
{
$path .= $temp[$i].'/';
if(!file_exists($path))//file_exists()检查文件和目录是否存在,存在返回true
{
mkdir($path, 0777);
chmod($path, 0777);//chmod改变文件模式
}
}
return (file_exists($filepath)) ? true : false;
}
/******************************************
*函数:checkPhoto
*作用:检查是否可以上传上的图片
*输入:$fileArray:$_FILES['file']
*输出:true OR false
**
******************************************
*--制作--日期--
*[email protected] 2005-5-30
******************************************
*--修改--日期--目的--
*
*/
public function checkPhoto($fileArray)
{
return (strtolower($this->getExt($fileArray['name'])) == 'jpg' || strtolower($this->getExt($fileArray['name'])) == 'jpeg' || strtolower($this->getExt($fileArray['name'])) == 'gif' || strtolower($this->getExt($fileArray['name'])) == 'png') ? true :false;
}
/******************************************
*函数:checkFlash
*作用:检查是否可以上传的flash
*输入:$fileArray:$_FILES['file']
*输出:true OR false
**
******************************************
*--制作--日期--
*[email protected] 2005-6-2
******************************************
*--修改--日期--目的--
*
*/
public function checkFlash($fileArray)
{
return (strtolower($this->getExt($fileArray['name'])) == 'swf') ? true :false;
}
/******************************************
*函数:uploadPhoto
*作用:上传图片(限制了上传时文件的大小及上传后存在服务器上的文件大小,上传后存在一个临时目录)
*输入:$fileArray:$_FILES['file'],$TempDir:上传后存放的临时目录,$filename:上传后存放在服务器上的文件名(不带后缀),$MaxUpload:最大可上传的文件大小,$MaxSave:最大在服务器上存放的大小
*输出:'true|文件名' OR 'false'
**
******************************************
*--制作--日期--
*[email protected] 2006-4-21
******************************************
*--修改--日期--目的--
*
*/
//俱乐部中使用
public function uploadPhoto($fileArray, $TempDir, $filename, $MaxUpload, $MaxSave, $SmallWidth, $SmallHeight)
{
require 'Image.class.php';
$Image = new Image;
if($fileArray['error'] == 1)
{
return 'false|上传的文件过大';
}
elseif($fileArray['error'] == 0)
{
//return 'false|上传的文件过大';
}
else
{
return 'false|上传失败';
}
if($fileArray['size'] <= $MaxSave)
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
if($fullname)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小图片的高、宽
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);
return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
return 'false|上传失败';
}
}
if(($fileArray['size'] > $MaxSave) && (filesize($fileArray['tmp_name']) <= $MaxUpload))
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
if($fullname)
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '1024', '768');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小图片的高、宽
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);
return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '800', '600');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小图片的高、宽
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);
return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '600', '480');
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$SmallPicName = $this->getSmallPicName($fullname, $SmallWidth, $SmallHeight);//小图片的高、宽
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$SmallPicName, $SmallWidth, $SmallHeight);
return 'true|'.$fullname.'|'.$SmallPicName;
}
else
{
return 'false|上传的文件过大';
}
}
}
}
else
{
return 'false|上传失败';
}
}
if($fileArray['size'] > $MaxUpload)
{
return 'false|上传的文件过大';
}
}
//某社区中使用
public function uploadPhoto2($fileArray, $TempDir, $filename, $MaxUpload, $MaxSave)
{
require_once 'Image.class.php';
$Image = new Image;
$Photo = array();
if($fileArray['error'] == 1)
{
return false;
}
elseif($fileArray['error'] == 0)
{
}
else
{
return false;
}
if($fileArray['size'] <= $MaxSave)
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
$Exif = new Exif($TempDir.'/'.$fullname);//2006-8-8增加
$Photo[0] = $Exif->getImageInfo();//2006-8-8增加
if($fullname)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
return false;
}
}
if(($fileArray['size'] > $MaxSave) && (filesize($fileArray['tmp_name']) <= $MaxUpload))
{
$fullname = $this->upload($fileArray,$TempDir,$filename);
$Exif = new Exif($TempDir.'/'.$fullname);//2006-8-8增加
$Photo[0] = $Exif->getImageInfo();//2006-8-8增加
if($fullname)
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '1024', '768');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '800', '600');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$Photo['FullName'] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
$Image->Resize($TempDir.'/'.$fullname, $TempDir.'/'.$fullname, '600', '480');
clearstatcache();
if(filesize($TempDir.'/'.$fullname) <= $MaxSave)
{
$Photo[1] = $fullname;//2006-8-8增加
$Photo = serialize($Photo);//2006-8-8增加
return $Photo;//2006-8-8修改
}
else
{
return false;
}
}
}
}
else
{
return false;
}
}
if($fileArray['size'] > $MaxUpload)
{
return false;
}
}
//得到缩小后的图片的名称,比如原文件是123.gif,缩小到100*50后的文件名是123_100_50.gif
public function getSmallPicName($filename, $width, $height)
{
$full_length = strlen($filename);
$type_length = strlen($this->getExt($filename));
$name_length = $full_length-$type_length;
$name = substr($filename,0,$name_length-1);
return $name."_".$width."_".$height.".".$this->getExt($filename);
}
//下载文件,$FilePath:文件路径,$FileName:文件名称
public function download($FilePath, $FileName, $type=1)
{
if($type == 1)
{
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header( "Content-Disposition: attachment; filename=".$FileName);
header( "Content-Description: File Transfer");
@readfile($FilePath);
}
if($type == 2)
{
$filesize = filesize($FilePath);
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
ob_end_clean();
header('Cache-control: max-age=31536000');
header('Expires: '.gmdate('D, d M Y H:i:s', time() + 31536000).' GMT');
header('Content-Encoding: none');
header('Content-Disposition: attachment; filename='.$FileName);
header('Content-Type: '.$filetype);
@$fp = fopen($FilePath, 'rb');
@flock($fp, 2);
$file = @fread($fp, $filesize);
@fclose($fp);
echo $file;
}
}
//查看图片,$FilePath:文件路径
public function displayPic($FilePath, $type=2)
{
if($type == 1)
{
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
header('Content-Type: '.$filetype);
$pic = file_get_contents($FilePath);
echo $pic;
flush();
}
if($type == 2)
{
$imagesize = getimagesize($FilePath);
$filetype = $imagesize['mime'];
$filesize = filesize($FilePath);
//ob_end_clean();
//header('Cache-control: max-age=31536000');
//header('Expires: '.gmdate('D, d M Y H:i:s', time() + 31536000).' GMT');
//header('Content-Encoding: none');
//header('Content-Disposition: attachment; filename='.$attach['filename']);
header('Content-Type: '.$filetype);
@$fp = fopen($FilePath, 'rb');
@flock($fp, 2);
$pic = @fread($fp, $filesize);
@fclose($fp);
echo $pic;
}
}
//下载网络上的文件,保存在本地
//从远端取得文件,保存在本地硬盘c:目录下
//curl_download("http://www.xingmo.com.cn/logo.gif", "20090831.gif");
function curl_download($remote, $local)
{
$cp = curl_init($remote);
$fp = fopen($local, "w");
//curl_setopt($cp, CURLOPT_URL, $remote);
curl_setopt($cp, CURLOPT_FILE, $fp); //设置了curl要写入的本地文件
//curl_setopt($cp, CURLOPT_HEADER, false); //不输出head信息
curl_exec($cp);
curl_close($cp);
fclose($fp);
}
}
?>
㈨ php的move_uploaded_file上传中文文件有时会失败
move_uploaded_file上传文件出错方式有很多,比如文件过大,比如上传文件夹无写权限,比如文件格式限制,你使用print_r(FILE)把上传文件的所有信息打印出来看看。看看错过码,找到错误就能定位!
㈩ PHP项目如何上传到服务器
用FTP上传工具上传即可。这里以8UFTP软件为例:
1、下载安装FTP软件,输入服务器IP地址,FTP的用户名和密码进行连接。