2012-05-18 83 views
1

我有一個圖片文件夾,裏面有近200張圖片。我的形象的名稱是:如何用php通過mysql快速更改文件夾中的圖像名稱?

101.png 
102.png 
103.png 
(it continues until 300.png) 

這些圖片,是指我的書有在MySQL數據庫中的圖像。例如;

id | book_name 
101| aaaaa 
102| bbbbb 

所以,我想改變我的圖像名稱作爲書名。也就是說,「aaaa」圖片的名稱將是aaaa.png而不是101.png。有沒有快速的方法來做到這一點? 謝謝....

+0

如果2本書具有相同的名稱會怎麼樣? – dakdad

+0

我的數據庫中不存在相同的書名。 – kalaba2003

+0

你需要改變實際的文件名,或者你想只顯示網址爲aaaa.jpg,因爲你可以使用重寫代碼來做到這一點 – gunnx

回答

1

這是一個概念證明。它應該讓你開始。

$books = array('100' => 'grapes of wrath', '101' => 'where the red fern grows'); 

echo '<pre>'; print_r($books); echo '</pre>'; 

foreach($books AS $key => $value){ 
    $current_image = $key.'.jpg'; 
    $new_image = $value.'.jpg'; 
    echo $current_image.' & '.str_replace(" ", "_",$new_image).'<br />'; 
    //rename($current_image, $new_image); 
} 
2

下面是一個簡單的例子:

​​
  • PDO處理與數據庫交互。這是連接到PHP數據庫的首選方式。
  • rename()函數僅適用於源和目標名稱是同一磁盤中的文件。在你的情況下,這應該很好。
  • 我對數據庫使用了一個非常簡單的查詢。通常,你會想限制它並指定你想要的列。
  • 我使用filter_var來檢查數據庫中的名稱是否有效。這是一項安全措施。如果數據庫有一個包含'../'的文件名,這個文件不會做壞事。這是必要的,因爲rename()也可以移動文件,並有人可能利用它。
0

將圖像名稱更改爲圖書名稱是一種不好的做法。 如果你的名字會有特殊符號怎麼辦?如果名字太長,怎麼辦?

這是使用ID的更簡單和通用的解決方案。

+0

海報似乎並不在意這是一個壞主意 – Kristian

+0

在我命名了一些缺點之後使用真實書的名字,可能他會再想一想:-) – DaneSoul

+0

書,這可能是個壞主意,但它可能是有用的別的。重要的是要去了解基礎知識。 – kalaba2003

相關問題