簡體   English   中英

PHP上傳圖片名稱

[英]PHP upload image name

我想編寫一個將文件名上傳到數據庫的 php 代碼。 我希望能夠首先上傳文件名。 所以稍后我可以查找它的名稱並調出文件。 這是我到目前為止的 HTML 代碼:

<html>
<form method="post" action="image_record.php" enctype="multipart/form-data">
<p>
Please Enter the Member Name.
</p>
<p>
Member or Affiliates Name:
</p>
<input type="text" name="nameMember"/>
<p>
Upload File
<input type="file" name="file"><br><br>
</p>
<p>
<input type="submit" name="submit" value="Submit" />
</p>
<br/>
</form>
</html>

<html>
<head>
</head>
<body>
<?php
$name = $_POST["nameMember"];
$con = mysql_connect("localhost","root","password");
if (!$con) {
die("can not connect: " . mysql_error());
}
mysql_select_db("snippets",$con);
if(isset($_POST['submit']))
{
    $file_name = $_FILES["file"]["name"];
    //echo $file_name
    $query="INSERT INTO value (file) VALUES ('".$file_name."')";
}
mysql_query($query,$con);
mysql_close($con);
?>
</body>
</head>
</html>

好的,所以它將文件上傳到 myphp 管理員,但不是文件名。 那很好,但是我如何從 php 代碼中調用文件名?

停止使用mysql_ 不推薦使用的函數

改用PDO / mysqli函數

image_record.php

if(isset($_POST['submit']))
{
    $file_name = $_FILES["file"]["name"];}
    //echo $file_name

    $query="insert into your_table_name (column_name) values('".$file_name."')";
    $res=mysql_query($sql,$query);
}

首先,我測試了你的代碼,它確實將文件名插入到我的數據庫中。

我的file列設置為VARCHAR(255)

現在,如果您想在上傳后顯示文件名,請使用以下內容:(假設這就是您的要求)。

$result = mysql_query("SELECT * FROM value");
while($row = mysql_fetch_array($result))
{
echo '<p>'.$row['file'].' </p>';

}

上面的代碼將在您上傳后顯示該行中的所有文件。

如果您希望將其限制為一個,請使用LIMIT 1

例如:

$result = mysql_query("SELECT * FROM value LIMIT 1");
while($row = mysql_fetch_array($result))
{
echo '<p>'.$row['file'].' </p>';

}

如果您只想顯示限制為一個的第一條記錄,請使用:

SELECT * FROM value ORDER BY file ASC LIMIT 1

如果您只想顯示限制為一個的最后一條記錄,請使用:

SELECT * FROM value ORDER BY file DESC LIMIT 1

如果您不想限制顯示的記錄數量,則只需刪除LIMIT 1


但是,如果您希望稍后檢索上傳的文件,您將無法檢索,因為您實際上還沒有上傳文件。

您將需要使用move_uploaded_file()函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM