php 上传文件 示例
<?php
header("content-type:text/html;charset=utf-8");
error_reporting(E_ALL);
//session_start();
/* include "database_new.php"; $nmetable=isset($_POST['nmetable'])?$_POST['nmetable']:"";
$title=isset($_POST['title'])?$_POST['title']:"";
$content=isset($_POST['content'])?$_POST['content']:"";
$a2=$a['name'];
date_default_timezone_set('PRC');
$time=date('Y-m-d H:i:s',time());
$ist=$go->execSql("insert into $nmetable(src,name,content,time)values('$a2','$title','$content','$time')");
*/
//print_r($a); /* Array
(
[name] => cube.html
[type] => text/html
[tmp_name] => H:\wamp\tmp\phpD175.tmp
[error] => 0
[size] => 3289
) */ /*
函数名:getMessage()
参数: $mes $flg
作用: 使正确的信息显示为绿色 ,错误信息显示为红色
时间: 2017-9-5
程序员:
*/
$a=$_FILES['imgfile'];
$message="";
function getMessage($mes,$flg){
global $message;
if($flg==true){
$message.="<div style='color:green' >".$mes."</div>";
}else{
$message.="<div style='color:red' >".$mes."</div>";
}
//return getMessage();
}
//getMessage('上传成功了',false);
//echo $message; //判断文件类型(获取文件后缀名) function getFileType($fileName){
$pos=strrpos($fileName,'.'); //查找字符串中最后一次‘.’的位置
return substr($fileName,$pos+1); //从中最后一次‘.’的位置的下一位,截取到最后一位 } //echo getFileType('dfaf.af.a.f.f.f.a.f.dfafasf.asf'); //测试
//设置允许被上传的后缀名
$allFileType=array('jpg','png','gif','txt','html'); //判断上传文件类型是否允许被上传 function ifFileType($fileName){
global $allFileType; //引入全局变量$allFileType $seion=getFileType($fileName); //将getFileType($fileName)方法做成变量
if(in_array($seion, $allFileType)){ //判断上传的文件类型是否在规定的数组中
getMessage("文件类型允许被上传",true); //文件允许上传时显示绿色的内容
return true;
}else{ getMessage("文件类型不允许被上传",false);//文件不允许上传时显示红色的内容 return false;
} } //ifFileType("asd.af.a.txtd");
//echo $message; //设置上传文件的大小 function ifFileSize($fileSize){
$fileSize=ceil($fileSize/1024/1024);// 将上传文件转化为兆
if($fileSize<=2){ getMessage("文件大小允许被上传",true);
return true;
}else{ getMessage("文件过大,请上传小于2M的文件",false);
return false; } }
//ifFileSize(10000000);
//echo $message; //判断 文件上传目录是否存在
function ifExists($fileUrl){ if(is_dir($fileUrl)){ //判断目录是否存在 getMessage("上传目录已存在,可以直接上传",true);
return true;
}else{
if(mkdir($fileUrl)){
getMessage("目录创建成功",true);
return true; }else{
getMessage("目录创建失败",false);
return false; } }
} //ifExists('image');
//echo $message;
//exit(); //
$b='./image/';
//$new_name=md5(date("Ymdhis")).".".pathinfo($a['name'],PATHINFO_EXTENSION);
// $path=$b.$new_name; if(ifFileType($a['name']) && ifFileSize($a['size']) && ifExists($b) ){
$res=move_uploaded_file($a['tmp_name'],$b.md5(date("Ymdhis")).'.'. getFileType($a['name'])); if($res){ echo "<script>location.href='../admin/design.php'</script>";
}else{
//echo "<div style='color:red' >".$a['name']."文件上传失败</div>";
echo "<script>alert('图片上传失败');location.href='../admin/insert.php'</script>";
}
}else{ echo "<div style='color:red' >上传失败,请上传小于2M,文件类型为'jpg','png','gif','txt','html'的文件</div>"; } //-----------------------------------------------------------------------------link: design.php ?>
php 上传文件 示例的更多相关文章
- C#使用HttpWebRequest和HttpWebResponse上传文件示例
C#使用HttpWebRequest和HttpWebResponse上传文件示例 1.HttpHelper类: 复制内容到剪贴板程序代码 using System;using System.Colle ...
- PHP上传文件示例
虽然大多数人认为Web只包含网页,但HTTP协议实际上可以传输任何文件,如office文档.PDF.可执行文件.AVI.压缩文件及各种其他文件类型.虽然FTP在历史上一直是向服务器上传文件的标准方式, ...
- python网络编程--FTP上传文件示例
1.基础版(供学习了解原理使用,low) server服务端 import socket import struct import json server = socket.socket() ip_p ...
- Python--day67--CBV和FBV、Request对象及上传文件示例
1,CBV版添加新的出版社 views.py文件 urls.py文件 2,Request对象: request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpReques ...
- MVC上传文件示例
[HttpPost] public void SaveFile(FormCollection form) { var c = Request.Files.Count; ]; } @using (Htm ...
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
[源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- PHP上传文件详解 错误提示
首先在php.ini里配置上载文件.有以下几个重要的配置单: 选项 默认值 说明 post_max_size 8M 控制以后的POST请求的最大规模.必须大于upload_max_filesize选项 ...
- MVC3+jquery Uploadify 上传文件
最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地 ...
- 【转】JSP使用上传文件,并生产高清缩略图示例
原文地址:http://blog.csdn.net/yakson/article/details/9875731 前言 刚开始本来只想来测试一下Thumbnails生成缩略图的效果的,顺便来学一下js ...
随机推荐
- 2018徐州现场赛A
题目链接:http://codeforces.com/gym/102012/problem/A 题目给出的算法跑出的数据是真的水 #include<iostream> #include&l ...
- Gym - 101982F 扫描线+线段树
题目链接:https://codeforces.com/gym/101982/attachments 要你求覆盖奇数次的矩形面积并,每次更新时减去原先的值即可实现奇数次有效,下推时为保证线段长度不变左 ...
- [bzoj4569] [loj#2014] [Scoi2016] 萌萌哒
Description 一个长度为 \(n\) 的大数,用 \(S1S2S3...Sn\) 表示,其中 \(Si\) 表示数的第 \(i\) 位, \(S1\) 是数的最高位,告诉你一些限制条件,每个 ...
- Error:Cannot build artifact 'XXX:war exploded' because it is included into a circular dependency (artifact 'XXXX:war exploded', artifact 'XXX:war exploded') Idea启动项目报错解决方案
在Idea中使用Maven创建父子工程,第一个Model的那个项目可以很好的运行,在创建一个Model运行时报这个错.原因是tomcat部署了多个Web项目,可能最开始是两个项目的配置文件混用用,最后 ...
- mysql--->mysql的事务和锁
mysql 事务和锁 什么是事务?及其特性? 答:事务:是一系列的数据库操作,是数据库应用的基本逻辑单位. 或者这样理解: 事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操 ...
- CGI fastCgi php-fpm PHP-CGI 辨析
CGI fastCgi php-fpm PHP-CGI 辨析 LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求.而php需要php-fpm这个组件提供该功能 ...
- python下的selenium和chrome driver的安装
selenium是一款支持多种语言.多种浏览器.多个平台的开源web自动化测试软件,测试人员可用python.java等语言编写自动化脚本,使得浏览器可以完全按照你的指令运行,大大节省了测试人员用鼠标 ...
- Windows环境安装与配置RocketMQ
1.下载RocketMQ http://rocketmq.apache.org/release_notes/release-notes-4.3.0/ 2.解压下载的安装包rocketmq-all-4. ...
- 关于 JavaSrcipt 前端开发的建议:模块化开发
JavaScript 是一种优秀的脚本语言. 在 JavaScript 的诞生之初,便于 浏览器 密不可分,如今它更是到了服务器中大展身手. 但是这里不叙述服务端的开发建议. Script 翻译过来就 ...
- TypeScript躬行记(6)——高级类型
本节将对TypeScript中类型的高级特性做详细讲解,包括交叉类型.类型别名.类型保护等. 一.交叉类型 交叉类型(Intersection Type)是将多个类型通过“&”符号合并成一个新 ...