php 文件上传图片
2016-03-09 19:16
621 查看
php单文件上传图片
<html><head>
</head>
<body>
<form action="../core/acceptp.php" method="post"
enctype="multipart/form-data">
《enctype="multipart/form-data",这个加到表单中表示,有file控件,比如说带图片上传的表单,他本身就是把表单多数据格式上传。如果表单中没有file控件的话,就不需要加enctype="multipart/form-data",如果表单中没有file控件,但是却加上这句话的话,后台用request是取不到控件的值的。》
<input type="file" name="myfile" /><br/>
<input type="submit" name="submit" value="上传"/>
</form>
</body>
</html>
acceptp.php
<?phprequire_once('common.php');
$myfilename=$_FILES['myfile']['name'];
$myfiletype=$_FILES['myfile']['type'];
$myfiletmp=$_FILES['myfile']['tmp_name'];
$myfileerror=$_FILES['myfile']['error'];
$myfilesize=$_FILES['myfile']['size'];
$limttype=array("jpg","gif","png","jpeg","wbmp");
$myfilemaxsize=1048576;
$type="true";
if($myfileerror==UPLOAD_ERR_OK)
{
//is_uploaded_file判断文件是不是通过HTTP POST方式传上来的
if(is_uploaded_file($myfiletmp))
{
$exename=getexename($myfilename);
$myfilename=getuniq().".".$exename;
if($type){
$fon=@getimagesize("$myfiletmp");
if(!$fon){
alert_go("不是有效的文件");
}
if(in_array($exename,$limttype)){
if($myfilemaxsize>$myfilesize){
$desitination="pic/".$myfilename;
if(move_uploaded_file($myfiletmp,$desitination))
{
alert_go("文件上传成功");
}
else{
alert_go("文件移动失败");
}
}
else{
alert_go("文件过大,请重新上传");
}
}
else{
alert_go("非法文件");
}
}
}
else
{
alert_go('文件不是通过HTTP POST方式传上来的');
}
}
else
{
switch($myfileerror){
case 1:
alert_go('超过了配置文件上传文件大小');//UPLOAD_ERR_INI_SIZE
break;
case 2:
alert_go('超过了表单设置的文件上传大小');//UPLOAD_ERR_INI_SIZE
case 3:
alert_go('文件被部分上传');//UPLOAD_ERR_PARTIAL
break;
case 4:
alert_go('没有文件被上传');//UPLOAD_ERR_NO_FIEL
break;
case 6:
alert_go('没有找到临时目录');//UPLOAD_ERR_NO_TMP_DIR
break;
case 7:
alert_go('文件不可写');//UPLOAD_ERR_CANT_WRITE
break;
case 8:
alert_go('由于php的扩展程序中断了文件上传');//UPLOAD_ERR_EXTENSION
break;
}
}
?>
//服务器端进行的配置
//1》file_uploads = On,支持通过HTTP POST方式上传文件
//2》;upload_tmp_dir =临时文件保存目录
//3》upload_max_filesize = 2M默认值是2M,上传的最大大小2M
//4》post_max_size = 8M,表单以POST方式发送数据的最大值,默认8M
//客户端进行配置
//<input type="hidden" name="MAX_FILE_SIZE" value="1024" />
//<input type="file" name="myFile" accept="文件的MIME类型,..."/>
知识点:
getimagesize() 取的图像大小;
getimagesize() 函数将测定任何
GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM
或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通
HTML 文件中
IMG标记中的 height/width 文本字符串。
如果不能访问
filename指定的图像或者其不是有效的图像,getimagesize() 将返回
FALSE并产生一条 E_WARNING 级的错误。
相关文章推荐
- 比较好的PHP开源项目
- yii2扩展yii2-imagine遇到的问题
- php分页
- php分页
- I方法 thinkphp
- (三)基于PHP——复杂的WSDL的创建(WSDL篇)
- (二)基于PHP——简单的WSDL的创建(WSDL篇)
- (一)基于PHP——WSDL的创建(NON-WSDL篇)
- php-fpm – 启动参数及重要配置详解
- 基数排序的PHP实现
- PHPStorm 10 配置PHPUnit
- php base64
- yii1 命令行的使用
- getTasks: caller 10108 does not hold GET_TASKS; limiting output问题解决
- PHP的<?php for/foreachswitch/while/if end...?>格式代码
- PHP 计算IP地址是否在同一网段
- SAE 中 PHP 代码部署
- PHP路径操作类
- mac 安装多php版本的时候问题
- php中对象,类与内存的关系