这是我之前提到的关于清理我的数据库的问题,您可以在此处看到:Remove row from database if image not on server
我有一个mysql数据库,其中包含以下格式的表:
ID:1
日期:2010-12-19
图片来源:5d61240f-7aca-d34b-19-12-10-15-36.jpg
文字说明:圣诞快乐
我现在想要创建一个php脚本来检查我服务器上的/ gallery /文件夹,并且对于我的数据库中尚未列出的库文件夹中的每个图像,我想创建一个带有文件名的新行图像列。 ID是顺序的,日期需要是使用filetime()的文件的最后修改日期,并且需要采用YYYY-MM-DD格式。对于我们添加的这些文件,标题列可以为空白。任何有关脚本的帮助都将非常感激。
谢谢!
答案 0 :(得分:2)
// list of allowed image extensions
$image_exts=array('png','jpg','ico','gif','bmp'); // ...
// function to store image file to db
function db_add_image($image){
$name=mysql_real_escape_string(basename($image));
mysql_query("INSERT INTO `table` (`ID`,`Date`,`Image`,`Caption`)
VALUES (NULL,'".date('Y-m-d',filemtime($image))."','".$name."','')
WHERE NOT EXISTS (SELECT `ID` FROM `table` WHERE `Image`='".$name."')");
}
// loop in your folder (glob returns an array of files matching a wildcard)
foreach(glob('gallery/*.*') as $file)
// if the file is an image...
if(in_array(strtolower(pathinfo($file,PATHINFO_EXTENSION)),$image_exts))
// add image to database
db_add_image($file);
安全,清洁,评论并准备好发货。总共20美元,请在柜台付款。 :d
编辑:感谢下面的两个人,两个都是+1。
答案 1 :(得分:-1)
if (!empty($_FILES["photo_name"]["name"]) && file_exists($_FILES["photo_name"]["tmp_name"]))
// Image is empty
// photo_name is image box name
{
if (strtolower($_FILES["photo_name".$i]["type"])!="image/jpg" && strtolower($_FILES["photo_name".$i]["type"])!="image/pjpeg" && strtolower($_FILES["photo_name".$i]["type"])!="image/jpeg") //Image is not jpg or gif
{
$_MSG[] = " The Image Must be JPG/JPEG.";
$error = 1;
}
}
if (empty($error))
{
if (!empty($_FILES["photo_name"]["name"]) && file_exists($_FILES["photo_name"]["tmp_name"])) // Image is exist
{
if(!$_POST["hidImage"])
{
$original = rand(1,9).date("Hismdy").".jpg"; //Make file name as timestampe
$_POST["hidImage"]=$original;
}
else
$original = $_POST["hidImage"];
chmod($_DIR['inc']['regi_images'],0777);
//regi_images is folder name
$image = $_FILES["photo_name"]["tmp_name"];
$arr = getimagesize($image);
if($arr[0]>400)
{
setsize("400x400");
// Size Width x Height
resize($newwidth,$newheight,$_DIR['inc']['regi_images'].$original);
} else
copy($image,$_DIR['inc']['regi_images'].$original);
chmod($_DIR['inc']['regi_images'],0755);
} else
$original = $_POST["hidImage"];
}