php - 将新文件名存储在 mysql 数据库中 verot class.upload.php

标签 php mysql forms upload

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

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

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");

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

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

最佳答案

简单:

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");

关于php - 将新文件名存储在 mysql 数据库中 verot class.upload.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23232919/

相关文章:

php - 需要一些重要提示 :- Sql injection for different queries. 。

php - 表单 1 提交告诉表单 2 选择了哪些输入

php - 将php数组转换成xml文件

windows - 如何隐藏 MS Access 父 MDI 窗口,但仍然显示 Windows 任务栏引用?

javascript - DOM 表单元素未在 for 循环内更新?

php - 找到正确的出现顺序

php - 如何以这种方式对数组进行排序(如果它包含 A B 那么它将首先出现,然后在查询给出结果的顺序之后)

mysql - 为什么代码库中没有模型定义,但数据库中有表?

php - 无需刷新页面即可将下拉菜单中的数据提交到mysql

javascript - Android 键盘覆盖 Web 表单上的元素