图片上传

Index.php文件代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="upload2.php" method="post" enctype="multipart/form-data">
<input type="file" name='file'>
<input type="submit" value="上传">
</form>
</body>
</html>

upload.php代码:

图片上传步骤:

1:接收参数

2:判断错误

3:判断格式是否合法

4:判断文件大小

5:判断是是不是真正的图片

6:判断是否是http post提交

<?php
include('../function.php'); //接受参数
$file=$_FILES['file'];
$name=$file['name'];
$type=$file['type'];
$tmp_name=$file['tmp_name'];
$error=$file['error'];
$size=$file['size'];
$path='../images/'; //判断错误
if($error==UPLOAD_ERR_OK){
// exit('上传成功');
//判断格式是否合法
$format=array('jpeg','jpg','png','gif');
$ext=format($name);
if(!in_array($ext,$format)){
exit('图片格式不正确');
}
//判断文件大小
$allowSize=1048576; //1M
if($size>$allowSize){
exit('图片过大');
}
//判断是不是图片
$imgSize=getimagesize($tmp_name);
if(!$imgSize){
exit('这不是一个图片');
}
//判断是不是通过http post上传
if(is_uploaded_file($tmp_name)){
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path,0777);
}
$newName = getUniqidName().".".$Ext;
$dstpath = $path.'/'.$newName;
if(move_uploaded_file($tmp_name,$dstpath)){
echo $newName;
}else{
exit('图片上传失败');
}
}else{
exit('不是HTTP POST方式提交');
}
}else{
switch ($error) {
case '1':
exit('文件大小超过限定值');
break; case '2':
exit('文件大小超过了表单配置大小');
break;
case '3':
exit('文件只有部分被上传');
break;
case '4':
exit('没有文件被上传');
break;
case '6':
exit('没有找到缓存目录');
break;
case '7':
exit('目录不可写');
break;
case '8':
exit('PHP扩展程序阻止了文件上传');
break;
}
} //取文件后缀函数
function format($name){
$ext=explode('.',$name);
$val=end($ext);
return $val;
}
function getUniqidName(){
return md5(uniqid(microtime(true),true));
} ?>

文件上传

Index.php文件代码:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<form action="upload2.php" method="post" enctype="multipart/form-data">

<input type="file" name='file'>

<input type="submit" value="上传">

</form>

</body>

</html>

upload.php代码:

图片上传步骤:

1:接收参数

2:判断错误

3:判断格式是否合法

4:判断文件大小

5:判断是是不是真正的图片

6:判断是否是http post提交

代码:

<?php

include('../function.php');

//接受参数

$file=$_FILES['file'];

$name=$file['name'];

$type=$file['type'];

$tmp_name=$file['tmp_name'];

$error=$file['error'];

$size=$file['size'];

$path='../images/';

//判断错误

if($error==UPLOAD_ERR_OK){

// exit('上传成功');

//判断格式是否合法

$format=array('jpeg','jpg','png','gif');

$ext=format($name);

if(!in_array($ext,$format)){

exit('图片格式不正确');

}

//判断文件大小

$allowSize=1048576;                          //1M

if($size>$allowSize){

exit('图片过大');

}

//判断是不是图片

$imgSize=getimagesize($tmp_name);

if(!$imgSize){

exit('这不是一个图片');

}

//判断是不是通过http post上传

if(is_uploaded_file($tmp_name)){

if(!file_exists($path)){

mkdir($path,0777,true);

chmod($path,0777);

}

$newName = getUniqidName().".".$Ext;

$dstpath = $path.'/'.$newName;

if(move_uploaded_file($tmp_name,$dstpath)){

echo $newName;

}else{

exit('图片上传失败');

}

}else{

exit('不是HTTP POST方式提交');

}

}else{

switch ($error) {

case '1':

exit('文件大小超过限定值');

break;

case '2':

exit('文件大小超过了表单配置大小');

break;

case '3':

exit('文件只有部分被上传');

break;

case '4':

exit('没有文件被上传');

break;

case '6':

exit('没有找到缓存目录');

break;

case '7':

exit('目录不可写');

break;

case '8':

exit('PHP扩展程序阻止了文件上传');

break;

}

}

//取文件后缀函数

function format($name){

$ext=explode('.',$name);

$val=end($ext);

return $val;

}

function getUniqidName(){

return md5(uniqid(microtime(true),true));

}

?>

PHP——图片上传的更多相关文章

  1. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  2. 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  3. JS图片上传预览插件制作(兼容到IE6)

    其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...

  4. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

    最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...

  5. 对百度的UEditor多图片上传的一些补充

    我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...

  6. 使用localResizeIMG3+WebAPI实现手机端图片上传

    前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代码如下: namespace Conso ...

  7. TinyMCE的使用(包括汉化及本地图片上传功能)

    TinyMCE我就不多介绍了,这是下载地址:https://www.tinymce.com/download/ 下载下来是英文版,要汉化也很简单.首先去网上随便下载个汉化包,然后把汉化包解压后的lan ...

  8. 包含修改字体,图片上传等功能的文本输入框-Bootstrap

    通过jQuery Bootstrap小插件,框任何一个div转换变成一个富文本编辑框,主要特色: 在Mac和window平台下自动针对常用操作绑定热键 可以拖拽插入图片,支持图片上传(也可以获取移动设 ...

  9. PHP多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  10. .NET MVC实现多图片上传并附带参数(ajaxfileupload)

    做网站呢,都免不了要做图片上传. 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上 ...

随机推荐

  1. storm的功能、三大应用

    storm的功能 Storm 有许多应用领域:实时分析.在线机器学习.持续计算.分布式 RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务). ETL(Extraction-Transfo ...

  2. linux多线程编程(转)

    原文地址:http://www.cnblogs.com/BiffoLee/archive/2011/11/18/2254540.html 1.Linux“线程” 进程与线程之间是有区别的,不过Linu ...

  3. eclipse调试的基本意义

    step into就是单步执行,遇到子函数就进入并且继续单步执行: step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为 ...

  4. mvc:annotation-driven' must have no character or element问题

    使用SpringMVC,启动tomcat报这个错误 解决办法 首先将Spring版本提升到3.1及以上 如果还不行替换xml文件头部: <?xml version="1.0" ...

  5. Oracle Enterprise Linux 64-bit下安装apache-tomcat-7.0.53步骤

    測试环境:VMware Workstation v9.0.2软件中安装好Oracle Enterprise Linux 5.8 64-bit虚拟机 安装软件:jdk-7u40-linux-x64.rp ...

  6. android 4.3源码编译

    jianguoliao@jianguoliao-Lenovo-IdeaPad-Y470:~/WORKING_DIRECTORY$ source build/envsetup.sh including ...

  7. java缓存算法【转】

    http://my.oschina.net/u/866190/blog/188712 提到缓存,不得不提就是缓存算法(淘汰算法),常见算法有LRU.LFU和FIFO等算法,每种算法各有各的优势和缺点及 ...

  8. java15 IO装饰设计模式

    IO装饰设计模式:(IO中使用了装饰设计模式) 节点流可以直接从源读取数据,处理流就是对节点流的包装,这就是装饰,装饰就是对原有的流的性能的提升.比如买的车,马力不够,就进行装饰,使其马力增大. 装饰 ...

  9. PERCONA-TOOLKIT 工具的安装与使用2

    [root@server-mysql ~]# cd /usr/bin [root@server-mysql bin]# ls pt* pt-align pt-duplicate-key-checker ...

  10. 【转】如何高效利用GitHub——2013-08-28 22

    http://www.yangzhiping.com/tech/github.html  正是Github,让社会化编程成为现实.本文尝试谈谈GitHub的文化.技巧与影响. Q1:GitHub是什么 ...