词条信息

admin
admin
超级管理员
最近编辑者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> 《php新手教程》   

《PHP新手教程》第七节 文件上传

标签: 《PHP新手教程》

顶[0] 发表评论(0) 编辑词条
目录

7. 文件上传编辑本段回目录


  你可以利用PHP实现文件的上传功能,注意客户端的浏览器应该是Netscape3以上或者IE3以上的版本。同时,因为本程序与你的PHP配置文件(PHP3为php3.ini,PHP4为php.in)设置有关。在执行该程序之前请先检查您的PHP配置文件有没有做好如下的设置:


  将;upload_tmp_dir该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以给其定义一个绝对路径,例如:upload_tmp_dir = d:upload  当然,此时你的d:upload目录必须有读写权限。


  如果你在你的.php3程序里已经定义了上传的路径,此时上传文件的路径以.php3程序里定义的路径为基准。在下例中,receiver.php3文件就指定了用于存放上传文件的目录是:d:upload。


upload_max_filesize 是用来限制PHP处理的上载文件大小的最大值,以字节计算,缺省值为2097152= 2*1024*1024字节(2兆),你可以通过修改该缺省值来定义最大的上载文件大小。 


  修改后不要忘了重启Apache,IIS或PWS服务哦。 

  同时在PHP中,文件上载还有几点是值得注意的:

  1. 在form表单中要将method属性设为post,enctype属性设为multipart/form-data;


  2. 在form表单中可以加一个hidden类型的input框,其中名字为 MAX_FILE_SIZE的隐藏值域,通过设置其VALUE可以限制上载文件的大小。当然,这个值不可能超过PHP的配置文件(PHP3为php3.ini,PHP4为php.ini)中的upload_max_filesize,注意这个input框一定要放在所有file类型的input框前面,否则也是无效的哦; 


  3. 在PHP程序运行完后,上传文件被放在了临时目录下。如果上传文件没有被改名或移动,那么在请求的最后该文件将自动被从临时文件夹中删除,所以我们最好立即将新的上传文件上传移到一个永久目录下或更改其文件名。 



首先我们需要一个上载文件的表单网页(upload.htm): 

<HTML>

<HEAD>

<TITLE>Upload Your File</TITLE>

</HEAD>

<BODY>

<FORM ACTION="receiver.php3"

ENCTYPE="multipart/form-data" METHOD=POST>

<INPUT TYPE="HIDDEN"

NAME="MAX_FILE_SIZE" VALUE="2000000">

<INPUT TYPE="FILE"

NAME="uploadfile" SIZE="24" MAXLENGTH="80">

<BR><BR>

<INPUT TYPE="SUBMIT" VALUE="Upload File!"

NAME="sendit">

<INPUT TYPE="SUBMIT" VALUE="Cancel"

NAME="cancelit"><BR>

</FORM>

</BODY>

</HTML>

处理上载文件的PHP文件(receiver.php3)

<?

function do_upload ()

{

global $uploadfile, $uploadfile_size;

global $local_file, $error_msg;

if ( $uploadfile == "none" )

{

$error_msg = "对不起,你没有选定任何文件上传!";

return;

}

if ( $uploadfile_size > 2000000 )

{

$error_msg = "对不起,你要上传的文件太大了!";

return;

}

$the_time = time ();



// 在这里指定你用来存放上传文件的目录,你需要对以下目录有写权限

// 同时,我们也可以给上传文件指定另外的目录,如:$upload_dir = "/local/uploads"; 



$upload_dir = "d:/upload";

$local_file = "$upload_dir/$the_time";

if ( file_exists ( '$local_file' ) )

{

$seq = 1;

while ( file_exists ( "$upload_dir/$the_time$seq" ) ) { $seq++; }

$local_file = "$upload_dir/$the_time$seq";

};

rename ( $uploadfile, $local_file );

display_page ();

}

function display_page ()

{

// 这里是你的页面内容

}

?>

<HTML>

<HEAD>

<TITLE>php3 Receiving Script</TITLE>

</HEAD>

<BODY>

<?

if ( $error_msg ) { echo "<B>$error_msg</B><BR><BR>"; }

if ( $sendit )

{

do_upload ();

echo "文件上载成功!";

}

elseif ( $cancelit )

{

header ( "Location: $some_other_script" );

echo "文件上载失败!";

exit;

}

else

{

some_other_func ();

}

?>

</BODY>

</HTML> 

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇《PHP新手教程》第六节 密码验证
下一篇《PHP新手教程》第八节 投票系统

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>