(急死我了)PHP图片上传问题!! 这方面的代码也太多了吧,只是把pic字段设为blob或text型的,然后和普通的上传程序差不多再说,楼主一定要把图片存在数据库中吗?为什么不试试放在文件夹中呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面的代码是自己以前练习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 "上传失败";} }}?> 你可以根据自已的情况,适当对下面的CODE改一下就OK。<?phprequire_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"; }?> 以上CODE是关于上传的,之后你把里面的$file_path(上传后的路径)做为你的变量,保存到数据库当中就OK netbeans6.9.1如何可视化编辑? 谁能帮我改下这个吗,我是新手不懂 php中把@加在语句的前面起到一个什么作用? 到底用SESSION呢还使用COOKIE呢? 一个n思不得其解的超超超级难的关于分页函数的问题 在分页的时候遇到的问题 大家来看看我写的[下载功能]程序 帮忙看看是不是session_start()惹的祸 请教大家一个问题,php的代码是否可以加密及如何加密!大量给分 视频已经传到优酷了 怎么去掉广告 [问题]用户数据的处理与备份 想问一下大家,用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 "上传失败";}
}
}
?>
<?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";
}?>