MySQLデータベースに画像名を保存しています。アップロードを実行するたびに、画像名が添付されたリンクが返され、画像名が抽出されてデータベースに保存されます。いくつかの重大な欠陥を修正しましたが、チェックポイントを設定したにもかかわらず、データベースに空白や重複した名前が挿入されるという問題に直面しています。
ファイル名の重複/空白を回避するにはどうすればよいですか?
DBに名前を保存するためのより良いアプローチはありますか?
Webサーバー内の画像の場所:
http://www.example.com/imageupload/uploads/medium/50038dc14afb7.jpg
ブラウザのリンク:
http://www.example.org/imageupload/index.php?i=50038dc14afb7.jpg
PHP
<?
$images = retrieve_images();
insert_images_into_database($images);
function retrieve_images()
{
$images = explode(',', $_POST['i']);
return $images;
}
function insert_images_into_database($images)
{
if(!$images) //There were no images to return
return false;
$db = dbConn::getConnection();
foreach($images as $image)
{
$sql = "INSERT INTO `urlImage` (`image_name`) VALUES ( ? )";
$prepared = $db->prepare($sql);
$prepared->execute(array($image));
}
}
?>