php写的一个图片上传小例子

php写的一个图片上传小例子

Richar
2017-11-09 / 0 评论 / 1,204 阅读 / 正在检测是否收录...

上传页HTML

<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
上传文件:<input type="file" name="userfile" />
<input type="submit" value="上传" />
</form>

上传验证upload.php

    <?php
header('Content-Type:text/html;charset=utf-8');
/**
 * @Author: Richer
 * @Date:   2017-11-08 11:06:17
 * @Last Modified by:   Richer
 * @Last Modified time: 2017-11-09 16:50:39
 */

//print_r($_FILES);
define('MAX_SIZE', 2000000); //设置允许上传的文件大小
define('MAX_SYSTEM_SIZE', ini_get('upload_max_filesize')); //读取PHP.INI中设置的系统最大上传限制
define('URL', dirname(__FILE__).'\uploads'); //设置上传的目标目录

//判断错误提示
if($_FILES['userfile']['error']>0){
    switch ($_FILES['userfile']['error']) {
        case 1: echo "<script>alert('上传文件超过系统设置的文件大小:".MAX_SYSTEM_SIZE."');history.back();</script>";
            break;
        case 2:echo "<script>alert('上传文件必须小于1M');history.back();</script>";
            break;
        case 3:echo "<script>alert('文件部份被上传');history.back();</script>";
            break;
        case 4:echo "<script>alert('请先选择上传文件');history.back();</script>";
            break;
    }
    exit;
}

$file_type='/image.*?/'; //正则检验文件类型
//将文件名分割后取扩展名.
$filename_cut=explode('.', $_FILES['userfile']['name']);
$file_ext=end($filename_cut);
$newfilename=date('YmdHis').rand(100,999).'.'.$file_ext;
echo "<br>".$newfilename;

//判断文件类型
if(!preg_match($file_type, $_FILES["userfile"]["type"])){
    echo "<script>alert('只允许上传图片文件');history.back();</script>";
    exit;
}
//判断文件大小
if($_FILES["userfile"]["size"]>MAX_SIZE){
    echo "<script>alert('上传文件不能超过2M');history.back();</script>";
    exit;
}
//echo '<br>'.round(($_FILES["userfile"]["size"])/1024,2).'kb';
//判断目录是否存在,不存在就创建
if(!is_dir(URL)){
    mkdir(URL,0777); 
}

if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
    if(!@move_uploaded_file($_FILES['userfile']['tmp_name'],URL.'/'.$newfilename)){
            echo "<script>alert('上传文件移动失败!');history.back();</script>";
            exit;
    };
}else{
    echo "<script>alert('找不到要上传的文件');history.back();</script>";
}
echo "<script>alert('文件上传成功!');location.href='success.php?url=".$newfilename."';</script>";

成功返回页 success.php

   <?php

/**
 * @Author: Richer
 * @Date:   2017-11-09 16:12:28
 * @Last Modified by:   Richer
 * @Last Modified time: 2017-11-09 16:52:20
 */
echo "<image src='uploads/".$_GET['url']."'></image>";
0

评论 (0)

取消