1

因此,我运行了一个脚本,该脚本将图像与其他数据一起上传到我的数据库。但是,总是有一个记录没有扩展名并且每次都具有相同的文件名。如果我删除该记录并不重要,那一串文本“d41d8cd98f00b204e9800998ecf8427e”将填充到另一条记录中。如果我添加新记录,它将转移到另一条记录。

这是我插入数据库和文件系统的方式:

$art = mysql_real_escape_string(stripslashes($_FILES["art"]["name"]));
    $art_ext = pathinfo($art, PATHINFO_EXTENSION);
    if(strtoupper($art_ext)=="JPEG"){
        $art_ext = "jpg";
    }
    $art = md5($art).".".$art_ext;
    if($art!=""){
        move_uploaded_file($_FILES['art']['tmp_name'], "images/".$art );
    }
$sql = "INSERT INTO event (imglink, title, date, tag1, tag2, Price, city, subtitle, venue, password, description, fb) VALUES ('$art','$title','$date','$tag1','$tag2','$price','$city','$subtitle','$venue','$password', '$description', '$fb')";
    $result = mysql_query($sql) or die(mysql_error());

相关记录的图像如下: phpMyAdmin

4

1 回答 1

3

d41d8cd98f00b204e9800998ecf8427e是空字符串的 md5,因此即使没有上传文件并且因此具有未设置的文件名/扩展名,您的代码似乎也已到达

很难从您发布的有限代码中分辨出来,但是如果使用相同的页面来显示上传表单并接受数据,那么您最终会如何使用空文件名调用代码的一个示例是GET错误地落入此代码。

于 2013-08-30T20:15:38.287 回答