仓酷云

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

[学习教程] PHP网页设计PHP的FTP进修(三)

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:05:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。   By Vikram Vaswani
Melonfire
November 07, 2000
如今,咱们已接触了PHP关于FTP的大批函数,但这仅仅只是函数,离咱们的方针还远远不敷,要显示出这些函数的真正力气,咱们应当创立一个法式,这个法式能以WEB体例上传,下载文件---这就是咱们将要做的!

在咱们进入代码前,我想要告知人人的是,这个例子仅仅只是为了向人人注释PHP的各类FTP函数的利用,良多方面还不敷完美,好比说,毛病剖析等,至于你想使用到你本人的法式中,你应当停止一些修正!

法式包含以下几个文件:
index.html - 登录文件

actions.php - 法式必须的FTP代码

include.php - 法式主界面,它显示文件列表和掌握按钮。

让咱们从 "index.html"入手下手吧:  
--------------------------------------------------------------------------------
<table border=0 align=center>
<form action="actions.php" method=post>
<input type=hidden name=action value=CWD>
<tr>
<td>
Server
</td>
<td>
<input type=text name=server>
</td>
</tr>

<tr>
<td>
User
</td>
<td>
<input type=text name=username>
</td>
</tr>

<tr>
<td>
Password
</td>
<td>
<input type=password name=password>
</td>
</tr>

<tr>
<td colspan=2 align=center>
<input type="submit" value="Beam Me Up, Scotty!">
</td>
</tr>

</form>
</table>
--------------------------------------------------------------------------------
这是一个登录表单,有一个办事器称号、用户名、暗码,输出框。输出的变量将会被存到$server, $username 和 $password 变量中,表单提交后,挪用actions.php,它将初始化FTP联接。

注重谁人“hidden” 它传给action.php一个变量$action ,值为CWD。


这是action.php文件的源码:
--------------------------------------------------------------------------------
<html>
<head>
<basefont face=Arial>
</head>
<body>

<!-- the include.php interface will be inserted into this page -->

<?

//反省表单传来的数据,不全则报错,要想法式完美的话,这里应当有更全的输出检测功效
if (!$server || !$username || !$password)
{
echo "提交数据不全!";
}
else
{
// keep reading
}

?>

</body>
</html>
--------------------------------------------------------------------------------


接上去是变量 "actions". 法式答应以下的action:

"action=CWD"

改动任务目次

"action=Delete"

删除指定文件

"action=Download"

下载指定文件

"action=Upload"

上传指定文件

假如你细心反省文件include.php,在外面包含一个HTML界面,你将会看到,它包含很多表单,每个指向一个特定的功效,每个表单包括一个field(凡是埋没) ,当表单提交,响应的功效将被履行。

例如:按下“删除”,"action=Delete"就被传送给"actions.php"  

为了操作这四个功效,actions.php中代码以下:   
--------------------------------------------------------------------------------
<?
// action: 改动目次
if ($action == "CWD")
{
// 详细代码
}

// action: 删除文件
else if ($action == "Delete")
{
// 详细代码
}
// action: 下载文件
else if ($action == "Download")
{
// 详细代码
}
// action: 上传文件
else if ($action == "Upload")
{
// 详细代码
}

?>
--------------------------------------------------------------------------------
以上的详细代码将会完成指定的功效,并加入轮回,它们都包括以下步调:

--------------------------------------------------------------------------------
经由过程定制的函数联接并登录FTP办事器
connect();

转向恰当的目次

履行选择的功效

刷新列表,以观察改动的了局

经由过程include("include.php"),显示文件列表和掌握按钮

封闭联接
--------------------------------------------------------------------------------
注重:
以下功效撑持多文件操作- 即 "action=Delete" 和 "action=Download" 它们利用FOR轮回来完成。
变量$cdir 和 $here 将在每阶段及时更新。

如今终究到了咱们的第三个文件,include.php 它为法式创立起一个用户界面。

"include.php" 包括三个表单,一些PHP代码获得以后的目次列表并将它们存入三个变量
$files (包含以后目次下的文件),
$file_sizes (响应的文件巨细),
and $dirs (包括子目次名)

第一个表单利用$dirs 发生一个下拉式目次列表,对应于“action=CWD”。

第二个表单利用$files  $file_sizes创立一个可用的文件列表,每个文件利用一个checkbox。这个表单的action对应于"action=Delete" and "action=Download"

第三个表单用来上传一个文件到FTP站点,以下:
--------------------------------------------------------------------------------
<form enctype="multipart/form-data" action=actions.php4 method=post>
...
<input type=file name=upfile>
...
</form>
--------------------------------------------------------------------------------
当PHP以这类体例吸收到一个文件名,一些变量就发生了,这些变量指定文件的巨细,一个一时的文件名和文件的类型,最后的文件名存在$upfile_name,一旦上传后文件名便存入$upfile中(这个变量是由PHP本人创立的)
经由过程这些信息,咱们就能够创立以下的语句了:
--------------------------------------------------------------------------------
ftp_put($result, $upfile_name, $upfile, FTP_BINARY);
-------------------------------------------------------------------------------- 我的文章不会对您的学习起到实质性的作用,您能否成功,还得靠自己的,坚持,坚持,再坚持,就是步入成功的不二法门。
莫相离 该用户已被删除
沙发
发表于 2015-2-4 08:48:59 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
小魔女 该用户已被删除
板凳
发表于 2015-2-9 20:39:25 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
第二个灵魂 该用户已被删除
地板
发表于 2015-2-27 21:14:49 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
小妖女 该用户已被删除
5#
 楼主| 发表于 2015-3-2 05:25:51 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
金色的骷髅 该用户已被删除
6#
发表于 2015-3-11 02:08:34 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
老尸 该用户已被删除
7#
发表于 2015-3-11 13:57:32 | 只看该作者
做为1门年轻的语言,php一直很努力。
再见西城 该用户已被删除
8#
发表于 2015-3-15 19:21:47 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
不帅 该用户已被删除
9#
发表于 2015-3-22 03:07:53 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
愤怒的大鸟 该用户已被删除
10#
发表于 2015-4-1 17:09:02 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
爱飞 该用户已被删除
11#
发表于 2015-4-1 19:02:24 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
活着的死人 该用户已被删除
12#
发表于 2015-4-7 01:08:20 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
谁可相欹 该用户已被删除
13#
发表于 2015-4-7 20:43:03 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
因胸联盟 该用户已被删除
14#
发表于 2015-4-10 23:32:55 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
只想知道 该用户已被删除
15#
发表于 2015-4-11 11:29:21 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
灵魂腐蚀 该用户已被删除
16#
发表于 2015-4-13 22:38:16 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
飘飘悠悠 该用户已被删除
17#
发表于 2015-4-16 03:11:00 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
若天明 该用户已被删除
18#
发表于 2015-4-17 04:00:58 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
变相怪杰 该用户已被删除
19#
发表于 2015-5-4 07:44:25 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
兰色精灵 该用户已被删除
20#
发表于 2015-5-4 16:03:13 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-20 19:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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