我希望有人可以幫助我解決我遇到的這個問題。我已經為此作業了好幾天,很多類似的問題和答案都在我的腦海中。我正在盡力弄清楚。到目前為止,我已經接近了。我對其中的一些完全陌生。我正在嘗試建立一個食譜網站,人們可以在其中上傳照片和他們的食譜。每次提交食譜時,都會為他們的食譜分配一個亂數。這是資料庫中的編號,我正在嘗試將其照片提交的照片名稱更改為使其與食譜相關聯。我希望這是可以理解的。我正在嘗試提供盡可能多的資訊,以便您了解我正在嘗試做的事情。預先感謝您提供的任何幫助。我今年 63 歲,正在迷上 PHP 和 MySQL。我以前一直在使用 HTML 和 CSS,但喜歡使用 PHP 和 MySQL 可以做的事情。這是我到目前為止所擁有的:
$select = "SELECT * FROM VaRecipes ORDER BY id DESC LIMIT 1;";
$result = $conn->query($select);
這樣做以顯示影像效果很好。
<img src="../images/<?php while ($row = $result->fetch_object()){ echo $row->extra03; } ?>.jpg" />
照片完全按照我的意愿顯示在網頁上。我敢肯定,這一定是一種更好的方法。我只是 mySQL 和 PHP 的初學者。但在這里我需要一種方法來設定一個變數,我可以用它來重命名和移動照片。到目前為止,我所擁有的是:
<?php rename("uploadedphotos/uploadedphotos.jpg","../images/new_name.jpg"); ?>
此示例部分有效。它重命名影像并將其移動到正確的檔案夾,但重命名的影像被命名為:
<?php while( = ()){ echo ; } ?>'.jpg
而不是它應該被命名的名稱,它是資料庫中的一個數字。
這是我在這里的第一個問題,大家好!~~馬克
uj5u.com熱心網友回復:
這都是錯的……
當您查詢資料庫時,您會得到一個結果陣列/物件......
$select = "SELECT * FROM VaRecipes ORDER BY id DESC LIMIT 1;";
$result = $conn->query($select);
現在您有了可以迭代的結果...
<?php while ($row = $result->fetch_object()): ?>
// While in the level loop context we can utilize the current result..
<img src="../images/<?php echo {$row->imgPath}; ?>.jpg" /> // This prints the img html that will load the image
// Then we can do other stuff while int he loop...
<?php rename("uploadedphotos/uploadedphotos.jpg","../images/{$row->imgName}.jpg"); ?>
<? endwhile ?>;
老實說,我不明白這個概念...... TBH你不應該在視圖背景關系中移動圖片,但無論如何......
您應該將變數圖片從一個目錄移動到另一個目錄。
rename("上傳的照片/{$row->imgName}.jpg","../images/{$row->imgName}.jpg")
無論出于何種原因,您都想在渲染之前移動影像
生成的 $row 陣列資料只有您知道,因為您沒有與我們共享它。
uj5u.com熱心網友回復:
if(isset($_FILES)) {
$name = $_FILES['name']; // The name provided by your form
$type = $_FILES['type']; // type of file uploaded
$path = $_FILES['tmp_name']; // the temp location it is stored in
$size = $_FILES['size']; // the size of it.
$error = $_FILES['error']; // any errors occured
$randomKey = bin2hex(random_bytes(16));
rename($path,"../images/$randomKey.jpg");
// save to database path => ../images/$randomKey.jpg
}
uj5u.com熱心網友回復:
玩了一段時間后,我得到了我想要的東西。感謝游客為我解決了這個問題。
<?php
$select = "SELECT * FROM VaRecipes ORDER BY extra03 DESC LIMIT 1;";
$result = $conn->query($select);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Recipes</title>
</head>
<body>
<?php while ($row = $result->fetch_object()): ?>
<img src="../images/<?php echo $row->extra03; ?>.jpg" />
<?php rename("uploadedphotos/uploadedphotos.jpg","../images/<?php echo $row->extra03; ?>.jpg"); ?>
<?php endwhile ?>;
</body>
</html>
此代碼以及我已經擁有的代碼允許用戶一次性提交食譜然后關聯照片,同時更改照片名稱并將其移動到其永久目錄,除了用戶提交食譜之外,其他任何人都沒有。該食譜將出現在網站上,任何人都可以查看和搜索,無需我進行額外的作業。我知道很多人并不確切地知道我在追求什么,它有效,我很高興被允許繼續使用該站點的其余部分。再次感謝大家的幫助。我喜歡 PHP 和 mySQL & StackOverflow!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/505065.html
