0

我正在为学校编写一个 php 文件。我们必须填写表格并将名字、姓氏、电子邮件和照片添加到数据库中。我可以将名称、电子邮件添加到数据库,但无法将图像名称添加到数据库。这是部分php代码和一些html。如果有人可以请看一下并提供一些帮助。提前谢谢了。

<?php include("db_connect.php");?>
<?php  // select the database in which to add a table
mysql_select_db("final_exam_db",$con);



$sql ="INSERT INTO drivers_0115061 (ln,fn,month,day,year,photo,email) 
VALUES ('".$_POST["ln"]."',
    '".$_POST["fn"]."',
    '".$_POST["month"]."',
    '".$_POST["day"]."',
    '".$_POST["year"]."',
    '".$_POST['file']['photo']."',
    '".$_POST["email"]."'
    )";

//$sql="INSERT INTO people (fn,ln,dob,city,prov,pc,gender,hc,nod) VALUES ('steve','douglas',1234567,'winnipeg','manitoba','r3p 6g5','m','grey',2)";

//echo $sql;


mysql_query($sql, $con);
echo mysql_error();
?>




<?php include("db_close.php");?>

HTML:
<td>
Picture
</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
<input type="file" id="photo" name="photo"/>
</td>
</tr>
<tr>
<td>
4

1 回答 1

-1

做不同的出路

//be sure to add enctype in your form tag 
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
</form>

首先将您的路径和文件名处理到数据库中

    $allowedExts = array("jpg", "jpeg", "gif", "png");
    $extension = end(explode(".", $_FILES["file"]["name"]));
    if ((($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/png")
    || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 20000)
    && in_array($extension, $allowedExts))
    {
    if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
    {
    echo $_FILES["file"]["name"] . " already exists. ";
    }
    else
    {
    //here is what actually you need to care , set your upload path from here
    move_uploaded_file($_FILES["file"]["tmp_name"],
    "your/upload/path/" . $_FILES["file"]["name"]);
    echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
    }
    }
    }
    else
    {
    echo "Invalid file";
    }

如果一切运行良好,这意味着您在这里成功上传了一个文件,您需要使用您的文件名保存您的数据库记录

每当您想调用文件时,请从数据库中获取文件名

<img href="your/path/name/<?php echo $filenamefromdatabase; ?>" />
于 2013-03-20T03:55:59.863 回答