PHP文件的上传

<?php
header(‘Content-type:text/html;charset=utf-8‘);
if(isset($_POST[‘submit‘])){
//检测表单‘submit‘是否有上传,如果有上传继续下一步,如果没那就没反应
if(is_uploaded_file($_FILES[‘myfile‘][‘tmp_name‘])){
//检测指定文件是否通过HTTP POST上传的,如果是继续下一步,如果不是提示‘可能有攻击!‘
$arr=pathinfo($_FILES[‘myfile‘][‘name‘]);
//输出返回路径的信息(具体返回什么看手册)
$newName=date(‘YmdGis‘).rand(1000,9999);
//按年月日后面加1000到9999随机数字输出文件名
if(move_uploaded_file($_FILES[‘myfile‘][‘tmp_name‘],"upload/{$newName}.{$arr[‘extension‘]}")){
//move_uploaded_file把该文件的移动到另一文件里面(该函数参数是写被移动文件和移到到目标文件的路径)
//($arr[‘extension‘]这个函数根据返回路径的信息确定文件后缀名)
//如果上传后的文件移动到目标目录成功则输出‘上传成功!‘,否则输出‘移动文件失败!‘
//为什么要在上传文件的同时写上文件名和后缀名?因为相同的文件名和后缀名会覆盖掉,所以要写这么个判断。
        echo ‘上传成功!‘;
    }else{
    echo ‘上传文件失败!‘;
    }
    }else{
    exit(‘可能有攻击!‘);
    }
}
var_dump($_FILES);
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8"/>
<title>上传页面</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data"><!-- 注意点:属性method和enctype设置 -->
<input type="file" name="myfile" /><!-- 上传控件 -->
<input type="submit" name="submit" value="开始上传" /><!-- 提交按钮 -->
</form>
</body>
</html>

步骤1:检测表单‘submit‘是否有上传,如果有上传继续下一步,如果没那就没反应。

步骤2:检测指定文件是否通过HTTP POST上传的,如果是继续下一步,如果不是提示‘可能有攻击!‘。

步骤3:move_uploaded_file把该文件的移动到另一文件里面(该函数参数是写被移动文件和移到到目标文件的路径)。

步骤4:要在上传文件的同时写上文件名和后缀名,因为如果不写,遇到相同的文件名和后缀名会覆盖掉,所以要写这么个判断。

步骤5:因为要判断,所以要写判断文件名和后缀名的公式。(详细看上面程序)

步骤6:上传文件,测试程序。

一.在上传前,我们需要设置与上传相关的php配置选项(php.ini)。

配置项                        可能值      功能描述

file_uploads               ON         确定服务器上的PHP脚本是否可以接受HTTP文件上传。

memory_limit               8M         设置脚本可以分配的最大内存量,防止失控的脚本独占 服务器内存。

upload_max_filesize        2M         限制PHP处理上传文件的最大值,此值必须小于         post_max_size值。

post_max_size              8M         限制通过POST方法可以接受的信息最大量。

upload_tmp_dir             NULL       上传文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。

二.$_FILES多维数组:用于存储各种与上传有关的信息(输出后显示的信息)(具体看参考手册)

三.PHP文件的上传处理函数:用于上传文件的后续处理.

is_uploaded_file()判断指定的文件是否通过HTTP POST上传的

move_uploaded_file()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移动到新位置.

时间: 2024-08-05 07:08:29

PHP文件的上传的相关文章

iOS开发网络篇—文件的上传

iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代码. 主控制器的关键代码: YYViewController.m 1 #import "YYViewController.h" 2 3 #define YYEncode(str) [str dataUsingEncoding:NSUTF8StringEncoding] 4 5 @inter

文件的上传

上传: 1). 表单需要注意的 3 点 2). Struts2 的文件上传实际上使用的是 Commons FileUpload 组件, 所以需要导入 commons-fileupload-1.3.jarcommons-io-2.0.1.jar 3). Struts2 进行文件上传需要使用 FileUpload 拦截器 4). 基本的文件的上传: 直接在 Action 中定义如下 3 个属性, 并提供对应的 getter 和 setter //文件对应的 File 对象private File [

【转】文件各种上传,离不开的表单

阅读目录 利用表单实现文件上传 表单异步上传(jquery.form插件) 模拟表单数据上传(FormData) 分片上传 使用HTML5 拖拽.粘贴上传 上传插件(WebUploader) 总结 作为程序员的我们,经常会要用到文件的上传和下载功能.到了需要用的时候,各种查资料.有木有..有木有....为了方便下次使用,这里来做个总结和备忘. 利用表单实现文件上传 最原始.最简单.最粗暴的文件上传. 前端代码: //方式1 <form action="/Home/SaveFile1&quo

用struts2实现文件的上传下载

在做B/S系统时经常会有文件上传下载的需求,现就基于struts2框架实现其功能 Struts2框架默认采用Commons-fileupload组件完成文件上传功能.? 使用Struts2框架实现文件上传功能,只需在Action中定义一个java.io.File类型的成员并为之设立setter方法,方法名要和参数名对应.? 客户端上传的文件, Struts2框架会自动将其保存在临时文件中,封装成java.io.File类对象.如果还想得到上传的文件名和文件类型,需按照如下命名规则在Action中

struts2 文件的上传下载 表单的重复提交 自定义拦截器

文件上传中表单的准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置为 post 需添加 <input type=“file”> 字段. Struts 对文件上传的支持 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传. 步骤:1. 在 Jsp 页面的文件上传表单里使用

使用Loadrunner进行文件的上传和下载

最近使用loadrunner中需要录制文件的上传和下载,上传功能模块利用录制可以直接实现,下载无法实现,在网上找到了一段代码,自己动手试验了下,发现没有用 辛苦找到的,还是记录下吧 (1)LoadRunner上传文件 web_submit_data("importStudent.do", "Action=https://testserver/console/importStudent.do", "Method=POST", "EncTy

PHP文件的上传下载

一.文件的上传 1.客户端设置: (1).在 标签中将enctype和method两个属性指明相应的值. Enctype="multipart/form-data"; Method="POST" (2).form表单中设置一个hidden类型的input框,其中name的值为MAX_FILE_SIZE的隐藏值 2.服务器端设置: (1).$_FILES多维数组:用于存储各种上传文件有关的信息 (2).文件上传与php配置文件的设置,如以下php.ini文件中的一些指

smartupload实现文件的上传、下载

package com.yc.util; import java.io.IOException; import java.sql.SQLException; import java.util.Collection; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Random; import javax.ser

JSP使用jspsmartupload实现文件的上传

这个程序出现点问题,输入的只要是中文,都会出现乱码,自己经过各种各样的方法,还是无法解决,哪位大神能赐教一下…… :uploadFileForm.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.ge