[英]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_ 不推薦使用的函數
在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.