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 に答える