我正在尝试上传文件,并将路径保存到MySQL。
我想为每个文件创建一个自定义路径,该路径将基于变量,但文件的实际文件名将保持不变。
我通过POST提交文件。我相信我必须使用$ _FILE?表单项的名称是“file”。
我该怎么做呢?注意:我不想将实际文件存储在数据库中,只是路径。
编辑:我也想将实际文件保存到路径中。
答案 0 :(得分:0)
查看此页面:http://www.php.net/manual/en/features.file-upload.post-method.php有一个将上传的文件移动到某个文件夹的示例。
所以是的,相关信息存储在$ _FILE
中答案 1 :(得分:0)
首先创建appvars.php,如下面的内容
<?php
// Define application constants
define('GW_UPLOADPATH', 'foldername/');
define('GW_MAXFILESIZE', 32768); // 32 KB
?>
然后创建代码来保存文件,就像这样
<?php
require_once('appvars.php');
$file = mysqli_real_escape_string($dbc, trim($_FILES['file']['name']));
$file_type = $_FILES['file']['type'];
$file_size = $_FILES['file']['size'];
//do some checks to make sure the person upload the file type you like
if ((($file_type == filetype) // check for the size also
&& ($file_size > 0) && ($file_size <= GW_MAXFILESIZE)) {
if ($_FILES['file']['error'] == 0) {
// Move the file to the target upload folder
$target = GW_UPLOADPATH . $file;
if (move_uploaded_file($_FILES['file']['tmp_name'], $target)) {
// Write the data to the database
mysqli_connect( database info);
$query = "INSERT INTO table (file ) VALUES ($file)";
mysqli_query($dbc, $query);
}
}
}
mysqli_close($dbc);
?>