php图片上传成功后怎样插入数据库

我的代码
<?php
if($_FILES["pic"]["error"] > 0){
switch($_FILES["pic"]["error"]) {
case 1:
echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值<br>";
break;
case 2:
echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
break;

case 3:
echo "文件只有部分被上传";
break;

case 4:
echo "没有文件被上传";
break;

default:

echo "末知错误";

}

exit;
}

$maxsize=4000000;
if($_FILES['pic']['size']>$maxsize){
echo "上传文件太大,不能超过{$maxsize}字节";
exit;
}

$allowtype=array("png","gif","jpg","jpeg");
$arr=explode(".",$_FILES['pic']['name']);
$hz=$arr[count($arr)-1];
if(!in_array($hz,$allowtype)){
echo "这是不允许的类型";
exit;
}
if(is_uploaded_file($_FILES['pic']['tmp_name'])){
if(move_uploaded_file($_FILES['pic']['tmp_name'],"./uploads/".$_FILES['pic']['name'])){
echo "上传成功";
}else{
echo "上传失败";
}
}else{
echo "不是一个上传文件";
}
问题是怎样将成功上传的图片插入MYSQL数据库呢?

<?php

//var_dump($_FILES);
for($i=1;$i<3;$i++){
//判断文件上传是否出错
if($_FILES["myfile$i"]["error"]>0){
switch($_FILES["myfile$i"]["error"]){
case 1; echo"文件过大(大于php.ini 配置文件的限制)";break;
case 2; echo"文件超出了html表单Max_FILE_size选项所指定得值";break;
case 3; echo"文件只被部分上传";break;
case 4; echo"没有上载任何文件";break;
}

die;
}
//判断文件类型
if(!in_array($_FILES["myfile$i"]["type"],array("image/jpeg","image/png","image/gif"))){
echo"文件类型不合法!(只能上传jpg,gif,png格式图片)" ;
continue;
die;
}
$dir = dirname(__FILE__)."/uploaded/";
$filename= $_FILES["myfile$i"]["name"];
if(is_uploaded_file($_FILES["myfile$i"]["tmp_name"])){
if(move_uploaded_file( $_FILES["myfile$i"]["tmp_name"],$dir.$filename)){
echo "文件上传成功<br>" ;
file_put_contents("./data.txt"," <img src='http://localhost/jishiA/uploaded/".date("Y-m-d")."/".$filename."'width=200>\n",FILE_APPEND);

}else{
echo "文件移动失败" ;
}
}else{
echo "文件不合法(非http post方式上传的文件)" ;
}
}

$link = mysql_connect ("127.0.0.1","root","root") or die("连接数据库失败!");
//选择库
mysql_select_db("123");
//设置编码
mysql_query("set names utf8");
//是否写入到数据库
if(mysql_query("insert into chuan(mysql1,mysql2) values('".$_FILES["myfile$i"]["name"]."','".$filename."')")){
echo "文件上传成功<br>";

//显示图片
$str= file_get_contents("./data.txt");
$img_arr = explode("\n",$str);
foreach($img_arr as $img){

echo $img."<br>";

}
?>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-11
数据库里建个表,建图片路径,图片名称字段。
上传完图片,把图片路径,图片名称写到数据库追问

我怎样获得上传后的图片路径和图片名称呢?

追答

你定义好图片路径不就行了,图片名称可以按规则生成,比如时间再加几个随机数字

追问

能够把代码写出来吗?比如,我的图片上传路径为./uploads/,图片上传后的名字为1.gif。万分感激

第2个回答  2015-11-05
1.可以去数据库的地址和图片的名字存到数据库
第3个回答  2014-04-11
插入到数据库的是图片上传后的地址追问

那么我怎样获得图片上传后的地址呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网