【问题标题】:store new filename in mysql database verot class.upload.php在mysql数据库verot class.upload.php中存储新文件名
【发布时间】:2014-06-07 14:44:55
【问题描述】:

所以我使用http://www.verot.net/php_class_upload_docs.htm?lang=en-GB 将文件上传到mysql 数据库。我对mysql有点新,所以请原谅我的无知。

下面的代码sn-p上传图片,正确重命名,但将旧文件名存储在数据库表中。

include('class.upload.php');

$t = time();
$foo = new Upload($_FILES['receipt_u']);
if ($foo->uploaded) {
$foo->file_new_name_body = "img_$t";
$foo->file_max_size = '4194304'; //4MB
$foo->Process('pics'); 
}

$receipt_img =($_FILES['receipt_u']['name']);

$sql = "INSERT INTO product (receipt_u) VALUES (:rcpt)";
$q = $conn->prepare($sql);
$q->execute(array(':rcpt'=>$receipt_img));
    header("location: ../index.php");

实际上有很多数据被传递到数据库中,但我为此删除了它,因为这是唯一给我带来麻烦的事情。

为什么将原始文件名发布到数据库而不是新文件名?

【问题讨论】:

  • “为什么将原始文件名而不是新文件名发布到数据库中”困惑这正是您的代码所说的
  • 哈哈好吧,但我怎样才能让它发布新名称? @dagon
  • 你有一个带有新名称的变量,但是你给了旧的查询,你解决它

标签: php mysql forms upload


【解决方案1】:

简单:

echo $foo->file_dst_name;

您的新代码如下所示:

$t = time();
$foo = new Upload($_FILES['receipt_u']);
if ($foo->uploaded) {
$foo->file_new_name_body = "img_$t";
$foo->file_max_size = '4194304'; //4MB
$foo->Process('pics'); 
}

//here its recipt image new 
$receipt_img = $foo->file_dst_name;

$sql = "INSERT INTO product (receipt_u) VALUES (:rcpt)";
$q = $conn->prepare($sql);
$q->execute(array(':rcpt'=>$receipt_img));
    header("location: ../index.php");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 2014-11-17
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多