这方面的代码也太多了吧,只是把pic字段设为blob或text型的,然后和普通的上传程序差不多
再说,楼主一定要把图片存在数据库中吗?为什么不试试放在文件夹中呢?

解决方案 »

  1.   

    下面的代码是自己以前练习PHP的,简单,但能满足要求
    <?php
    $path="E:/PHP/CODE/PHPScript";
    define(UPDIR,$path."/file/uploadfile");
    $filename=date("Ymd");
    $rand=rand(uniqid(),1);
    $filename.=$rand; //给文件取名字,日期加附加码
    $pathname=date("Ym"); //上传的文件夹
    if(is_uploaded_file($_FILES['picUrl']['tmp_name'])){
    if($_FILES['picUrl']['type']!="image/gif" ){
    echo"上传文件的格式必须为gif";
    }else{
    if(!is_dir(UPDIR."/".$pathname)){
    mkdir(UPDIR."/".$pathname);
    }
    //获得上传文件的后缀名
      $result=move_uploaded_file($_FILES['picUrl']['tmp_name'],UPDIR."/".$pathname."/$filename.gif");
    if($result==1){echo "上传成功";}
    else{echo "上传失败";}
    }
    }
    ?>
      

  2.   

    你可以根据自已的情况,适当对下面的CODE改一下就OK。
    <?php
    require_once "main.php";
    /**
    *********************************************
    参数设定
    *upload_dir---->存放上传文件的目录(例:upload/public/)
    *upload_url---->存放上传文件的网络地址(例:http://127.0.0.1/upload/public/)
    *********************************************
    **/
    //最大上传文件大小
    $MAX_SIZE = "200000";
    //设置Mine类型
    $FILE_MIMES = array('image/jpeg','image/jpg','image/gif','image/png','application/msword');
    //设置允许上传的文件类型,按照格式添加
    $FILE_POSTFIX = array('.zip','.jpg','.png','.gif','.wma','.rm','.wmv','.rar','.doc','.mpeg','.mp3','.avi');
    //是否允许删除以上传的文件,允许:yes; 不允许:no;
    $DELETE_ENABLE = 'no';
    /**
    *********************************************
    变量设定
    *********************************************
    **/
    $site_name = $_SERVER['HTTP_HOST']; //获取本地IP
    $site_url = "http://".$site_name.dirname($_SERVER['PHP_SELF']); //返回路径中的目录部分
    $site_this = "http://".$site_name.$_SERVER['PHP_SELF'];   //返回当前页面地址
    //可见性,为0时只有会员可见,为1时所有人员都可见
    $visibility = true;
    if($visibility)
    {
     $upload_dir = "images/upload/public/";
     
    }else
    {
    $upload_dir = "images/upload/private/";
    }
    $upload_url = $site_url."/".$upload_dir;
     /*********************************************
    创建上传目录*********************************************/
    if(!is_dir($upload_dir)) //如查上传目录不存在,则建立一个目录
    {
     if(!mkdir($upload_dir))
      die('文件没有创建成功!!');
     if (!chmod($upload_dir,0777))
      die ("改变权限失败.");
    }
    /*********************************************
    删除文件处理*********************************************/if($del && $DELETE_ENABLE == 'no')
    {
    $resourse = fopen('log.txt','a');
    fwrite($resourse,date('Y-m-d H:i:s')."删除 - 删除操作的ip地址为: $_SERVER[REMOTE_ADDR]".$del."\n");
    $result = unlink($del);
     if(!$result)
     {
    echo "删除操作失败,请重试";
    echo "<meta http-equiv=\"refresh\"content=\"1;url=register.php\">";
    exit;
    }
     else
     {
        echo "删除操作成功!返回";
    echo "<meta http-equiv=\"refresh\"content=\"1;url=register.php\">";
    exit;
     }
    }
    /*********************************************
    上传文件处理
    *********************************************/
    if($_FILES['rgphoto'])
    {
    $resourse = fopen('log.txt','a'); //上传记录日志,用于记录上传文件的时间,类型,来源以及上传的文件名
    fwrite($resourse,date('Y-m-d H:i:s')."上传 - 上传操作的ip地址为: $_SERVER[REMOTE_ADDR]".$_FILES['rgphoto']['name']."".$_FILES['rgphoto']['type']."\n"); //在日志中写入相关信息
    fclose($resourse); //关闭日志文件
    $file_name = $_FILES['rgphoto']['name'];//上传文件的名字
    $tpl->assign ("name",$file_name);
      
    $file_type = $_FILES['rgphoto']['type'];//上传文件的类型
     
     
    $file_postfix = substr($file_name,strrpos($file_name,"."));//上传文件的后缀 if($_FILES['rgphoto']['size'] >= $MAX_SIZE)  //文件大小检查
     {
     $tpl->assign ("size",$_FILES['rgphoto']['size']);
    $tpl->assign ("wrosize","太大了,换个小点的图再来!");
      
     }
     elseif(!in_array($file_type,$FILE_MIMES) && !in_array($file_postfix,$FILE_POSTFIX)) //检查上传文件的类型
     {
      $tpl->assign("wrosize","对不起你所上传的文件类型不符合规定,不允许上传!!");
     }
     else
     {
      do_upload($upload_dir,$upload_url);
     }
    }
    function do_upload($upload_dir,$upload_url)
    {
     $temp_name = $_FILES['rgphoto']['tmp_name'];
     $file_name = $_FILES['rgphoto']['name'];
     $file_name = str_replace("\\","",$file_name);
     $file_name = str_replace("'","",$file_name);
     $file_path = $upload_dir.$file_name;
     //文件名检查
     if($file_name = '')
     {
      echo "文件名无效!!!";
      exit;
     }
     $result = move_uploaded_file($temp_name,$file_path); //把上传上来的文件移动到$file_path指定的文件夹下
      if($result)
     {
    echo "OK";
     
    exit;
     }
     else
     {
    echo "上传失败!!";
     
    exit;
     }
    echo "end"; 
    }?>
      

  3.   

    以上CODE是关于上传的,之后你把里面的$file_path(上传后的路径)做为你的变量,保存到数据库当中就OK