<?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 上传文件 示例的更多相关文章

  1. C#使用HttpWebRequest和HttpWebResponse上传文件示例

    C#使用HttpWebRequest和HttpWebResponse上传文件示例 1.HttpHelper类: 复制内容到剪贴板程序代码 using System;using System.Colle ...

  2. PHP上传文件示例

    虽然大多数人认为Web只包含网页,但HTTP协议实际上可以传输任何文件,如office文档.PDF.可执行文件.AVI.压缩文件及各种其他文件类型.虽然FTP在历史上一直是向服务器上传文件的标准方式, ...

  3. python网络编程--FTP上传文件示例

    1.基础版(供学习了解原理使用,low) server服务端 import socket import struct import json server = socket.socket() ip_p ...

  4. Python--day67--CBV和FBV、Request对象及上传文件示例

    1,CBV版添加新的出版社 views.py文件 urls.py文件 2,Request对象: request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpReques ...

  5. MVC上传文件示例

    [HttpPost] public void SaveFile(FormCollection form) { var c = Request.Files.Count; ]; } @using (Htm ...

  6. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  7. PHP上传文件详解 错误提示

    首先在php.ini里配置上载文件.有以下几个重要的配置单: 选项 默认值 说明 post_max_size 8M 控制以后的POST请求的最大规模.必须大于upload_max_filesize选项 ...

  8. MVC3+jquery Uploadify 上传文件

    最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地 ...

  9. 【转】JSP使用上传文件,并生产高清缩略图示例

    原文地址:http://blog.csdn.net/yakson/article/details/9875731 前言 刚开始本来只想来测试一下Thumbnails生成缩略图的效果的,顺便来学一下js ...

随机推荐

  1. 程序员写了一个新手都写不出的低级bug,被骂惨了。

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...

  2. python递归(函数)

    递归:一个过程或函数调用自身的一种方法. 1. 效果图 2. 代码 def factorial(n): ''' 该函数用来求任意数的阶乘 参数: n 要求阶乘的数字 ''' # 基线条件 判断n是否为 ...

  3. 分享一款基于aui框架的图文发布界面

    本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...

  4. 《C# 爬虫 破境之道》:第一境 爬虫原理 — 第三节:WebResponse

    第二节中,我们介绍了WebRequest,它可以帮助我们发送一个请求,不过正所谓“来而不往非礼也”,对方收到我们的请求,不给点回复,貌似不太合适(不过,还真有脸皮厚的:P). 接下来,就重点研究一下, ...

  5. threding.local

    作用:为每一个线程开辟一个独立的内存空间 示例 from threading import Thread, local import time obj = local() def test(i): o ...

  6. Java入门 - 高级教程 - 05.网络编程

    原文地址:http://www.work100.net/training/java-networking.html 更多教程:光束云 - 免费课程 网络编程 序号 文内章节 视频 1 概述 2 Soc ...

  7. HTML5 App商业开发实战教程 基于WeX5可视化开发平台

  8. window和 linux 在一起 ios和 android在一起 net和js在一起

    step 1: Windows 10 的 Linux Bash 支持「并不是使用虚拟机/模拟器」实现的,而是嵌入一个完整的 Ubuntu Linux 环境.技术上是实时将 Linux 的系统调用转换为 ...

  9. 从DirectX SDK升级到Windows SDK

    原来的DirectX SDK到June 2010,微软就不更新了.之后新的版本被集成到了Windows SDK中. 在微软的博客里找到一篇升级指南:http://blogs.msdn.com/b/ch ...

  10. 用 C# 写一个 Redis 数据同步小工具

    用 C# 写一个 Redis 数据同步小工具 Intro 为了实现 redis 的数据迁移而写的一个小工具,将一个实例中的 redis 数据同步到另外一个实例中.(原本打算找一个已有的工具去做,找了一 ...