仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1518|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP完成文件下载

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-4 00:31:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
从刚开始练习的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吗?会,我能编好几个大表格排板的网页啦!
老尸 该用户已被删除
18#
发表于 2015-5-10 01:04:08 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
愤怒的大鸟 该用户已被删除
17#
发表于 2015-4-27 09:06:39 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
只想知道 该用户已被删除
16#
发表于 2015-4-26 22:11:02 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
admin 该用户已被删除
15#
发表于 2015-4-26 16:10:34 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
柔情似水 该用户已被删除
14#
发表于 2015-4-22 05:12:06 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
透明 该用户已被删除
13#
发表于 2015-4-21 14:25:47 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
飘飘悠悠 该用户已被删除
12#
 楼主| 发表于 2015-3-25 07:30:29 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
活着的死人 该用户已被删除
11#
发表于 2015-3-22 22:11:25 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
再见西城 该用户已被删除
10#
发表于 2015-3-22 02:08:58 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
深爱那片海 该用户已被删除
9#
发表于 2015-3-18 14:26:49 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
分手快乐 该用户已被删除
8#
发表于 2015-3-16 23:05:18 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
若天明 该用户已被删除
7#
发表于 2015-3-11 16:17:34 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
爱飞 该用户已被删除
6#
发表于 2015-3-8 06:17:45 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-3-5 03:09:13 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
小妖女 该用户已被删除
地板
发表于 2015-3-1 21:19:43 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
第二个灵魂 该用户已被删除
板凳
发表于 2015-2-27 23:26:29 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-2-9 22:03:13 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
乐观 该用户已被删除
楼主
发表于 2015-2-4 13:17:17 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-20 22:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表