仓酷云

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

[学习教程] PHP教程之用PHP完成文件上传二法

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

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

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

x
总的来说,在这一个月左右的时间中,学到的不少,但是也遇到不少的问题,比如批量图片的上传,一直到现在也不懂,如何实现动态的增加上传图片的数量。上传   PHP(Hypertext Preprocessor)是一种 HTML 内嵌式的言语 (相似 IIS 上的ASP)。而 PHP 共同的语法夹杂了 C、Java、Perl 和 PHP 式的新语法。它可以比 CGI 或 Perl 更疾速的履行静态网页。除此以外,用 PHP 写出来的 Web 后端CGI 法式,可以很等闲的移植到分歧的体系平台上。

  咱们在做网站时,需求会见者的参于才干将网站建立得加倍有目共睹,这就请求咱们从会见者那边失掉文章、图片等。因而,文件上传成为网页中必不成少的功效。如今我就使用如今盛行的编程言语PHP,用两种办法来讲明其功效的完成。

1、使用php的文件函数来完成上传
  这段代码分为两个文件,一个为upload.html,一个是upload.php。


上传文件选择:upload.html 代码以下:


--------------------------------------------------------------------------------

  <html><head><title>上载文件表单</title></head>

  <body>

  <form enctype="multipart/form-data" action="upload.php" method="post">

    <input type="hidden" name="max_file_size" value="100000">

  <center>请选择文件:

    <input name="userfile" type="file">  

    <input type="submit" value="上传文件">

  </center>

  </form>

  </body>

  </html>


--------------------------------------------------------------------------------

*** 申明 ***

  1、请注重<form enctype="multipart/form-data"......>这是一个标签,咱们要完成文件的上传,必需指定为 multipart/form-data ,不然办事器将不晓得你在干甚么!

  2、值得注重的是文件upload.html中表单选项 MAX_FILE_SIZE 的埋没值域,经由过程设置

其Value(值)可以限制上载文件的巨细。


处置方才上传的文件:upload.php 代码以下:


--------------------------------------------------------------------------------

  <html>

  <head>

  <title>处置上载文件</title>

  </head>

  <body>

  <?

  copy($userfile,"newfile");

  echo $userfile."-用户上传到办事器上的文件一时寄存的称号
";

  echo $userfile_name."-在用户机械上该文件的原始称号
";

  echo $userfile_size."-上传文件的实践字节数
";

  echo $userfile_type."-假如用户的阅读器供应了这个信息的话,它暗示mime的类型。例如image/gif
";

  ?>

  </body>

  </html>


--------------------------------------------------------------------------------

*** 申明 ***

  1、利用了PHP文件函数copy()将上载光临时目次下的文件拷贝到一个特定的目次下,偏重新定名为"newfile"。

  2、在upload.html中界说了一个变量 userfile,在upload.php中,咱们就能够利用这个变量,直接经由过程$userfile会见上载的文件,但因为这是一个保留文件的变量,因而文件名字必需经由过程别的一个$userfile_name变量获得。

  上面是这个变量的详细用法:

  $userfile:在将要寄存上载文件的办事器上的一时文件名字。

  $userfile_name:在发送者体系中的初始文件名。

  $userfile_size:按字节盘算的上载文件的巨细。

  $userfile_type:多用处网际邮件扩大协定类型的文件,条件是阅读器供应这类信息,好比说“image/gif"。



2、使用FTP功效停止文件上传
  这段代码一样分为两个文件,一个为upload.php,一个是ftp.php。


设置ftp的相干选项及选择上传文件名:upload.php 代码以下:


--------------------------------------------------------------------------------

  <?php

  $username="用户名";

  $password="用户暗码";

  $server="主机名";

  $cdir="上传目次名" ;

//以上设置你的FTP主机名、用户名和用户暗码

  ?>

<!-- 文件上传设置标签 -->

  <form enctype="multipart/form-data" action=ftp.php method=post>

<!-- 传递变量 -->

    <input type=hidden name=username value=<? echo $username; ?>>

    <input type=hidden name=password value=<? echo $password; ?>>

    <input type=hidden name=server value=<? echo $server; ?>>

    <input type=hidden name=cdir value=<? echo $cdir; ?>>

  <table>

  <tr>

    <td>上传文件选择

    <input type=file name=upfile>

    </td>

  </tr>

  <tr>

    <td>

<!-- 提交表单 -->

    <input type=submit name=action value=上传>

    </td>

  </tr>

  </table>

  </form>


--------------------------------------------------------------------------------


处置上传文件:ftp.php 代码以下:


--------------------------------------------------------------------------------

  <?php

//ftp联接主机函数

  function connect()

  {

  global $server, $username, $password;

  $conn = ftp_connect($server);

  ftp_login($conn, $username, $password);

  return $conn;

  }

//创立ftp联接

  $result = connect();

  if ($action == "上传")

  {

//用来改动ftp途径

  ftp_chdir($result, $cdir);

//用来上传指定的文件,同名并以二进制位传递

  $res_code = ftp_put($result, $upfile_name, $upfile, FTP_BINARY);

// 判别是不是准确上传

  if ($res_code == 1)

echo "上传胜利!";

  else

echo "上传毛病!";

  }

// 封闭联接

  ftp_quit($result);

  ?>


--------------------------------------------------------------------------------

*** 申明 ***

  函数ftp_put(int ftp_stream, string remote_file, string local_file, int mode)用法

  前往值: 布尔值

  本函数用来上传指定的文件。参数 ftp_stream 为 FTP 的毗连代码。参数 remote_file 为欲存在远真个文件名。参数 local_file 为欲上传文件的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分离暗示文档或是二进位文件。胜利则前往 true 值,掉败则前往 false 值。
  在我开始学习PHP以前,我从未想过要做软件工程,即便是在去听过华育国际的关于软件工程的美好前景后,因为我一直都没有想过要与代码打交道,而是想学好所学专业,做个网络工程师或者是网络安全人员。
分手快乐 该用户已被删除
沙发
发表于 2015-2-4 13:07:47 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
海妖 该用户已被删除
板凳
发表于 2015-2-6 16:46:58 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
再见西城 该用户已被删除
地板
发表于 2015-2-16 19:49:42 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
莫相离 该用户已被删除
5#
发表于 2015-3-5 08:23:57 | 只看该作者
爱上php,他也会爱上你。
6#
发表于 2015-3-6 17:28:55 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
不帅 该用户已被删除
7#
发表于 2015-3-13 00:57:57 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
小妖女 该用户已被删除
8#
 楼主| 发表于 2015-3-16 06:38:09 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
老尸 该用户已被删除
9#
发表于 2015-3-22 20:50:51 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
柔情似水 该用户已被删除
10#
发表于 2015-3-22 21:10:52 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
活着的死人 该用户已被删除
11#
发表于 2015-3-30 00:56:54 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
只想知道 该用户已被删除
12#
发表于 2015-4-10 17:16:28 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
因胸联盟 该用户已被删除
13#
发表于 2015-4-11 00:11:08 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
精灵巫婆 该用户已被删除
14#
发表于 2015-4-13 17:54:26 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
若天明 该用户已被删除
15#
发表于 2015-4-20 03:33:38 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
飘飘悠悠 该用户已被删除
16#
发表于 2015-4-26 17:10:51 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
灵魂腐蚀 该用户已被删除
17#
发表于 2015-4-27 12:30:50 | 只看该作者
爱上php,他也会爱上你。
谁可相欹 该用户已被删除
18#
发表于 2015-7-1 00:13:48 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
简单生活 该用户已被删除
19#
发表于 2015-7-3 00:16:03 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
冷月葬花魂 该用户已被删除
20#
发表于 2015-7-6 15:32:37 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 03:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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