PHP新手上路(8)

2016-02-19 17:42 4 1 收藏

今天图老师小编给大家介绍下PHP新手上路(8),平时喜欢PHP新手上路(8)的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

  7. 文件上传

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  你可以利用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程序运行完后,上传文件被放在了临时目录下。如果上传文件没有被改名或移动,那么在请求的最后该文件将自动被从临时文件夹中删除,所以我们最好立即将新的上传文件上传移到一个永久目录下或更改其文件名。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

  

HTMLHEADTITLEUpload Your File/TITLE/HEADBODYFORM ACTION="receiver.php3"ENCTYPE="multipart/form-data" METHOD=POSTINPUT TYPE="HIDDEN"NAME="MAX_FILE_SIZE" VALUE="2000000"INPUT TYPE="FILE"NAME="uploadfile" SIZE="24" MAXLENGTH="80"BRBRINPUT 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 (){// 这里是你的页面内容}?HTMLHEADTITLEphp3 Receiving Script/TITLE/HEADBODY?if ( $error_msg ) { echo "B$error_msg/BBRBR"; }if ( $sendit ){do_upload ();echo "文件上载成功!";}elseif ( $cancelit ){header ( "Location: $some_other_script" );echo "文件上载失败!";exit;}else{some_other_func ();}?/BODY/HTML

来源:https://www.tulaoshi.com/n/20160219/1615874.html

延伸阅读
标签: Web开发
建设一个简单交互的网站(五) 8. 投票系统 在许多时候,我们需要收集上网者和网友们的意见。例如:新版页面与旧版页面的比较;对某一事情的看法;对体育比赛结果的预测等等。这时候,你需要一个非常有效的网上调查系统。使用PHP就可以非常方便地实现你的这一构想。 8.1 投票系统(mypolls.php3): ?$status=0;if...
标签: PHP
  建设一个简单交互的网站(五) 8. 投票系统 在许多时候,我们需要收集上网者和网友们的意见。例如:新版页面与旧版页面的比较;对某一事情的看法;对体育比赛结果的预测等等。这时候,你需要一个非常有效的网上调查系统。使用PHP就可以非常方便地实现你的这一构想。 8.1 投票系统(mypolls.php3): <? $status=0; if(is...
标签: PHP
建设一个简单交互的网站(一)   PHP的许多特点与其他软件或者工具有关。利用迄今为止我们所学到的PHP知识,我们可以试着建立一个简单交互的网站。利用这一过程我们又可以学到不少东西。好吧,我们现在开始专注于一个典型个人网站的建设。 5.1 计划一个站点 一般一个个人站点包括一个欢迎页面、一个留言本页面、...
标签: PHP
 为什么要选择PHP   2. 竞争对手:ASP,mod_perl,JSP 用于实现交互式动态网页的技术有好多,其中CGI又称通用网关接口(Common Gateway Interface),是外部程序和WEB服务器之间的标准编程接口,但是CGI程序带来的缺点实在太多;而Perl很好地解决了CGI中的问题,被用来驱动复杂的WEB技术;微软的ASP(Active Server...
标签: Web开发
12. PHP资源 你可以通过web上的众多资源更多的了解PHP3。许多邮件列表和书籍对你都非常有用。 12.1 站点 PHP的爆炸性流行使得一夜之间出现了很多基于PHP的站点,其中不少站点有在线教程、范例代码、技巧和提示等内容。 国内 http://www.phpuser.com/ - PHP中文用户,也就是这里了 http://www.phpx.com/ ...

经验教程

444

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部