Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php上传图片功能的实现

php上传图片功能的实现

发布时间:2014-12-27   编辑:www.jquerycn.cn
php上传图片功能的实现,供大家学习参考。

一、建静态页面,要实现上传功能,其实模板很简单,upload.html代码如下:

复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>图片上传</title>
</head>
<body>
<form action="upload.php?act=upload" method="post" enctype="multipart/form-data" >
请选择您要上传的图片:<input name="pic" type="file" id="pic" />
<br /><br />
图片介绍:<input name="img_js" type="text" id="img_js" /><br /><br />
<input name="上传" type="submit" id="上传" value="上传" />
</form>
</body>
</html>

二、PHP代码
 

复制代码 代码如下:

<?php
/*
* Author : 甘宇
* Email : ganyu_0808@163.com
* action : 图片上传
* Date   : 2009-12-3
*/

require_once '../xmphp/init.php'; //全站配置文件
require_once XMPHP_COMMON.'/smarty.php';//smarty功能
require_once XMPHP_COMMON.'/mysql.php'; //mysql功能
require_once XMPHP_COMMON.'/func.php';//站内函数
   header('Cache-control:Private');//提交前保留所写内容
   if (isset($_GET['act']) && $_GET['act'] == 'upload') {

   $pic = isset($_FILES['pic']) ? $_FILES['pic'] : '';
   $img_js = isset($_POST['img_js']) ? $_POST['img_js'] :'';
   $upload_time = time();
  //var_dump($pic);
   //结果:array(5) { ["name"]=> string(7) "hot.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(26) //"C:\WINDOWS\Temp\php145.tmp" ["error"]=> int(0) ["size"]=> int(16405) }
   if ($pic['name'] == '') {
    alert ('请选择图片');
    exit;
   }
   if ($pic['error'] != 0) {
    alert ('上传错误,请返回重试');
    exit;
   }
   if ($img_js == '') {
     alert('请填写图片介绍');
     exit;
   }
   $houzhui = pathinfo($pic['name']);
   //var_dump($houzhui);
   //结果:array(4) { ["dirname"]=> string(1) "." ["basename"]=> string(7) "hot.jpg" ["extension"]=> string(3) "jpg" ["filename"]=> //string(3) "hot" }
   if ( !in_array($houzhui['extension'],array('jpg','gif','png','JPG','GIF','PNG')) ) {
    alert ('上传格式不对,请返回重试');
    exit;
   }
//   if ($pic['size'] > 2*1024*1024) {
//    alert ('所选图片大于2M,请重新选择');
//    exit;
//   }
   if ($pic['size'] >200*1024) {
    alert ('所选图片大于200K,请重新选择');
    exit;
   }
   $dir_name = date('Ymd');
   $dir = 'upload/'.$dir_name;
   if (!file_exists($dir)) {
    @mkdir($dir);
   }
  $image_name = $dir_name.rand(0,1000).'.'.$houzhui['extension'];
   if (move_uploaded_file($pic['tmp_name'],$dir.'/'.$image_name)) { //move_uploaded_file(old,new) -- 将上传的文件移动到新位置
    $sql = "INSERT INTO `upload` (`img_js`,`img_name`,`upload_time`) VALUES ('{$img_js}','{$image_name}','{$upload_time}')";
    $res = mysql_query($sql);
    if ($res) {
     alert ('上传成功');
     exit;
    }
    else {
     alert ('上传失败');
     exit;
    }
   }else {
    alert('文件移动出错');
    exit;
   }
   }
$tpl->display ('admin/tpl/upload.html');
?>

您可能感兴趣的文章:
php文件上传代码大全(实例分享)
php图片上传代码一例
php图片上传并保存到MySql数据库的实现代码
HTML5 File Uploads with jQuery
php图片文件上传类(可自动生成缩略图)
PHP脚本实现Markdown文章上传到七牛图床
php gd库实现服务端图片裁剪与缩略图
PHP图片上传的简单例子
PHP中多张图片上传并校验的实现
php下载css中图片函数

[关闭]