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 ...
随机推荐
- Java set接口之HashSet集合原理讲解
Set接口 java.util.set接口继承自Collection接口,它与Collection接口中的方法基本一致, 并没有对 Collection接口进行功能上的扩充,只是比collection ...
- windows服务搭建(VS2019创建Windows服务不显示安装组件)
1.创建windows服务应用 2.右键查看代码 3.写个计时器Timer using System.Timers; 如上图,按tab键快速操作 会自动创建一个委托 改为下边的方式,打印日志来记录 ...
- window10配置python虚拟环境的路径
当我们搭建python+django项目的时候,需要配置虚拟环境,从而使项目与项目之间的包相互隔离,互不影响. 1.配置虚拟环境前,首先需要安装两个包 pip install virtualenvwr ...
- 「 Android开发 」开启第一个App应用
每天进步一丢丢,连接梦与想 无论什么时候,永远不要以为自己知道一切 -巴普洛夫 最近玩了下Android,但遇到了一些坑,浪费了很多的时间,在此记录一下,你若是遇到了就知道怎么解决了 PS:建议使 ...
- shh登入不能自动执行.bashrc
在linux 上新安装的anconda来管理软件,把环境变量放在home目录的.bashrc.结果每次开终端,不能直接使用conda.需要手动加环境变量. 用户登入后计算机执行了哪些文件 用户登录时b ...
- FluentData 学习 第一弹
地址: http://fluentdata.codeplex.com/ 前世: FluentData 我们公司用的一个增删改查的里面的持久层.之前还不知道 这个持久层叫FluentData. 某天看 ...
- 废旧手机改造之给你的手机安装win10系统
最近又开始琢磨把我这个即将退出的二手手机再利用一下 发现了一个不错的软件 先上图 是不是感觉逼格很高啊 点击下面链接即可下载使用 https://www.lanzous.com/i4gpsib 欢迎交 ...
- 云原生 - Why is istio(二)
出处:https://cizixs.com/2018/08/26/what-is-istio 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 前言 随着微服务架构的流行, ...
- Shell常用语句及结构
条件判断语句之if if 语句通过关系运算符判断表达式的真假来决定执行哪个分支:shell有三种if语句样式,如下: 语句1 if [ expression ] then Statement(s) t ...
- centos7+ docker 实践部署docker及配置direct_lvm
转载于博客园:http://www.cnblogs.com/Andrew-XinFei/p/6245330.html 前言 Docker现在在后端是那么的火热..尤其当笔者了解了docker是什么.能 ...