<?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.<br/>";
 echo "$type.<br/>";
 echo "$size.<br/>";
 echo "$tmp_name.<br/>";
 
}
}
?>
<form action="tx.php" enctype="multipart/form-data" method="post" name="upform">
  上传文件:
  <input name="upfile" type="file">
  <input type="submit" value="上传"><br>
 </form>
非常急    帮忙直接给改写代码吧!
这是一个头像上传    数据库为 zuoye   表 user    表中字段  id   username  name age  email   
这个图片该怎么存到数据库   怎样设计数据库 求解释

解决方案 »

  1.   

    又是作業...  最近要放假了學校都佈置各種作業?你的web目錄結構列一列 .
      

  2.   

    在user表中加个字段avatar,头像上传的时候把文件名存到这个字段,需要调用头像的时候,路径+头像文件名
      

  3.   

    'up/'.$name是你的文件地址。
    没必要保存,因为文件地址= 'up/'.$name
      

  4.   

    看了一下,像上面说的 不需要保存路径到数据库吧?你的路径就是 up 文件夹而已.所以可以保存文件名到数据库.数据库增加一个img 的字符型字段,长度为 50.代码大约如此
    // 需要传递用户名,或者上传者的用户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.<br/>";
    echo "$type.<br/>";
    echo "$size.<br/>";
    echo "$tmp_name.<br/>";
    } else {
    echo '数据更新失败';
    }

    }
    }
      

  5.   

    <?php session_start ();
    // 赋值变量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 );
            // 将文件名保存到数据库
            // 数据库链接部分,自行修正完整
            $con = mysql_connect ( "localhost", "root", "123" );
    if (! $con) {
    die ( 'could not connect' . mysql_error () );

    }
    mysql_select_db ( "zuoye", $con );
            //更新数据库字段img 查询条件 用户id
            $SQL = "UPDATE  zuoye SET `pic_url`='{$name}' where username='" . $_SESSION ['id'] . "'";
            mysql_query ( $SQL );
            if (mysql_affected_rows () > 0) {
                echo "上传头像数据更新成功";
                echo "$name.<br/>";
                echo "$type.<br/>";
                echo "$size.<br/>";
                echo "$tmp_name.<br/>";
            } else {
                echo '数据更新失败';
            }
        
        }
    }
    ?><form action="index.php" enctype="multipart/form-data" method="post" name="upform">
      上传文件:
      <input name="upfile" type="file">
      <input type="submit" value="上传"><br>
     </form>我这段代码怎么存不到数据库里面啊  没有什么错误啊