----- 026-upload.php -----

 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8">
     <title>上传图片</title>
 </head>
 <body align="left">
 <h2>上传图片</h2>
 <p style="font-size: 16pt">
 <form method="POST"enctype="multipart/form-data" style="border:1px solid; width:400px" >
     上传图片:<input type="file" name='file' id="file"><br/>
     放在这里:<input type="text" name="txt"><br/>
     <input type="submit" name="upload" value="开始上传">
 </form>
 <?php
     foreach ($_POST as $key => $value) {
         echo $key, "=>", $value, "<br/>";
     }
     if(isset($_POST["upload"])){
         echo "就绪了啊!!<br/>";
         echo $_FILES['file']['type'];
         if($_FILES['file']['type'] == "image/pjpeg")
         {
             echo "文件名:", $_FILES['file']['name'], "<br/>";
             echo "文件类型:", $_FILES['file']['type'], "<br/>";
             echo "文件大小:", $_FILES['file']['size'], "<br/>";
             echo "副本名称:", $_FILES['file']['tmp_name'], "<br/>";
             move_uploaded_file($_FILES['file']['tmp_name'], "uploads/".$_FILES['file']['name']);
             echo "文件储存在:",  "uploads/".$_FILES['file']['name'], "<br/>";
             echo "<img src=", "uploads/".$_FILES['file']['name'], " width=300>";

         }
     }
 ?>
 </p>
 </body>
 </html>

----- 027-download.php -----

 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8">
     <title>下载文件</title>
 </head>
 <body>
 <fieldset>
 <legend>文件下载</legend>
 <img src="bietaichang.jpg" height="200")/>
 <a href="?action=download">下载文件到本地<br/></a>
 <?php
     $file_name = "bietaichang.jpg";
     $file_dir = "uploads/";
     echo "文件大小:", filesize($file_dir.$file_name), "\n";
     if(isset($_GET["action"]))
     {
         $file = fopen($file_dir.$file_name, "rb");
         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;
     }
 ?>
 </fieldset>
 </body>
 </html>

php -- 文件上传下载的更多相关文章

  1. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  2. Android okHttp网络请求之文件上传下载

    前言: 前面介绍了基于okHttp的get.post基本使用(http://www.cnblogs.com/whoislcj/p/5526431.html),今天来实现一下基于okHttp的文件上传. ...

  3. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

  4. 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)

    1.艺萌文件上传下载及自动更新系统,基于Winform技术,采用CS架构,开发工具为vs2010,.net2.0版本(可以很容易升级为3.5和4.0版本)开发语言c#. 本系统主要帮助客户学习基于TC ...

  5. 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  6. ssh框架文件上传下载

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  8. 【FTP】FTP文件上传下载-支持断点续传

    Jar包:apache的commons-net包: 支持断点续传 支持进度监控(有时出不来,搞不清原因) 相关知识点 编码格式: UTF-8等; 文件类型: 包括[BINARY_FILE_TYPE(常 ...

  9. NetworkComms 文件上传下载和客户端自动升级(非开源)

    演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 淘宝地址:https://shop183793329.taobao.com 联系QQ号:3201175853 许可:购 ...

  10. SpringMVC文件上传下载

    在Spring MVC的基础框架搭建起来后,我们测试了spring mvc中的返回值类型,如果你还没有搭建好springmvc的架构请参考博文->http://www.cnblogs.com/q ...

随机推荐

  1. ASP.NET 压缩输出的HTML字符

    重写Render using System; using System.Collections.Generic; using System.Text; using System.Web.UI; usi ...

  2. 协程之gevent

    迭代器:     一个实现了__iter__方法和__next__方法的对象,就是迭代器. 生成器:     生成器是一类特殊的迭代器     简单来说:只要在def中有yield关键字的 就称为 生 ...

  3. 踏破铁鞋无觅处,从AsyncTask学Android线程池

    android对于主线程的响应时间限制的非常严格,稍有不慎就会遇到Application Not Responding(ANR)的弹框.用户可以轻点手指关掉你的APP.官方文档写的非常明确!同时,保持 ...

  4. hibernate之helloword(环境搭建)

    环境搭建 hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  5. How to transfer developer profile to one mac to another mac

    Export developer profile from old mac. In the Xcode Organizer, select your team in the Teams section ...

  6. codeforces891a

    A. Pride time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  7. Redis集群错误

    部署Redis集群时出现如下错误: >>> Creating cluster>>> Performing hash slots allocation on 9 no ...

  8. sqoop快速入门

    转自http://www.aboutyun.com/thread-22549-1-1.html

  9. 前端开发 - JavaScript 词法分析

    JavaScript代码运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 1.分析函数的参数 2.分析函数的变量声明 3.分析函数的函数声明表达式 具体步骤如下: 函数在运行的瞬间,生成 ...

  10. 1.mybatis入门

    一:创建表 CREATE TABLE `country` ( `id` ) NOT NULL AUTO_INCREMENT, `countryname` varchar() DEFAULT NULL, ...