图片以路径方式存入数据库 数据库设计 以及在页面中显示 急急急 !
<?php
if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
switch ($type) {
case 'image/pjpeg' : $ok=1;
break;
case 'image/jpeg' : $ok=1;
break;
case 'image/gif' : $ok=1;
break;
case 'image/png' : $ok=1;
break;
}
if($ok && $error=='0'){
move_uploaded_file($tmp_name,'up/'.$name);
echo "上传成功";
echo "$name.
";
echo "$type.
";
echo "$size.
";
echo "$tmp_name.
";
}
}
?>
非常急 帮忙直接给改写代码吧!
这是一个头像上传 数据库为 zuoye 表 user 表中字段 id username name age email
这个图片该怎么存到数据库 怎样设计数据库 求解释
------解决方案--------------------
'up/'.$name是你的文件地址。
没必要保存,因为文件地址= 'up/'.$name
------解决方案--------------------
看了一下,像上面说的 不需要保存路径到数据库吧?你的路径就是 up 文件夹而已.所以可以保存文件名到数据库.
数据库增加一个img 的字符型字段,长度为 50.
代码大约如此
- PHP code
// 需要传递用户名,或者上传者的用户ID,可以用session来控制,看你的登录代码怎么写 // 假设为session 如果是GET id 请自行修改其他页面传递id 并且做赋值 session_start (); // 赋值变量 $Uid = $_SESSION ['UserId']; if (is_uploaded_file ( $_FILES ['upfile'] ['tmp_name'] )) { $upfile = $_FILES ["upfile"]; $name = $upfile ["name"]; $type = $upfile ["type"]; $size = $upfile ["size"]; $tmp_name = $upfile ["tmp_name"]; $error = $upfile ["error"]; switch ($type) { case 'image/pjpeg' : $ok = 1; break; case 'image/jpeg' : $ok = 1; break; case 'image/gif' : $ok = 1; break; case 'image/png' : $ok = 1; break; } if ($ok && $error == '0') { move_uploaded_file ( $tmp_name, 'up/' . $name ); // 将文件名保存到数据库 // 数据库链接部分,自行修正完整 mysql_connect (); //更新数据库字段img 查询条件 用户id $SQL = "UPDATE zuoye SET `img`='{$name}' WHERE `id`='{$Uid}'"; mysql_query ( $SQL ); if (mysql_affected_rows () > 0) { echo "上传头像数据更新成功"; echo "$name.
"; echo "$type.
"; echo "$size.
"; echo "$tmp_name.
"; } else { echo '数据更新失败'; } } }