PHP网页编程之PHP完成文件下载
从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。下载 你必定会笑我“下载文件”如斯复杂都值得说?固然并非想你想象的那末复杂。例如你但愿客户要填完一份表格,才可以下载某一文件,你第一个设法必定是用 “Redirect”的办法,先反省表格是不是已填写终了和完全,然后就将网址指到该文件,如许客户才干下载,例如笔者编写的以下代码:<?
// 反省 FORM 是不是全体填写终了...
if ($form_completed) {
Header("Location: http://www.myweb.com/download/info_check.exe");
exit;
}
?>
或是以下的情形:
“ <a href="http://www.yourwebl.com/users/download.php?id=124524">入手下手下载文件</a> ”
这里使用了ID体例吸收要下载文件的编号,然后用“Redirect”的体例毗连到实践的网址。
假如你想做一个关于“网上购物”的电子商务网站,思索平安成绩,你不想用户直接复制网址下载该文件,笔者建议你利用PHP直接读取该实践文件然后下载的办法去做。法式以下:
<?
$file_name = "info_check.exe";
$file_dir = "/public/www/download/";
if (!file_exists($file_dir . $file_name)) { //反省文件是不是存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 翻开文件
// 输出文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输入文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit;}
?>
而假如文件途径是“http”或“ftp” 网址的话,则源代码会有少量改动,法式以下:
<?
$file_name = "info_check.exe";
$file_dir = "http://www.easycn.net/";
$file = @ fopen($file_dir . $file_name,"r");
if (!$file) {
echo "文件找不到";
} else {
Header("Content-type: application/octet-stream");
Header("Content-Disposition: attachment; filename=" . $file_name);
while (!feof ($file)) {
echo fread($file,50000);
}
fclose ($file);
}
?>
如许就能够用PHP直接输入文件了。 会HTML吗?会,我能编好几个大表格排板的网页啦! 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 写的比较杂,因为我也是个新手,不当至于大家多多指正。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
页:
[1]