[英]How to save the save the full file path in mysql table when using the upload form
如何将完整的文件路径保存在mysql表中?
目前mysql存储路径名如下
F:Xammphtdocsdrnirajvora约会/uploads/0stock-illustration-4507047-set-of-colored-planets.jpg
但是应该这样保存
F:Xammp / htdocs / drnirajvora / appointment / uploads / 0stock-illustration-4507047-set-of-colored-planets.jpg
这是我保存文件的代码
public function uploadfiles()
{
if(isset($_FILES['fileupload']))
{
$errors= array();
$connection = db::factory('mysql');
$user_id=$_SESSION['userid'];
foreach($_FILES['fileupload']['tmp_name'] as $key => $tmp_name )
{
$file_name = $key.$_FILES['fileupload']['name'][$key];
$file_size =$_FILES['fileupload']['size'][$key];
$file_tmp =$_FILES['fileupload']['tmp_name'][$key];
$file_type=$_FILES['fileupload']['type'][$key];
if($file_size > 2097152)
{
$errors[]='File size must be less than 2 MB';
}
$upload_dir = ROOT;
$desired_dir=ROOT."/uploads/";
if(empty($errors)==true)
{
if(is_dir(ROOT."/uploads/")==false)
{
mkdir(ROOT."/uploads/", 0700); // Create directory if it does not exist
}
if(is_dir(ROOT."/uploads/".$file_name)==false)
{
$file_path=ROOT."/uploads/".$file_name;
move_uploaded_file($file_tmp,$file_path);
$query="INSERT into uploads (`User_Id`,`File_Name`,`File_Path`,`File_Size`,`File_Type`) VALUES('$user_id','$file_name','$file_path','$file_size','$file_type'); ";
mysql_query($query);
}
else
{ // rename the file if another one exist
$new_path=ROOT."/uploads/".$file_name.time();
rename($file_tmp,$new_path) ;
$file_path=$new_path;
$query="INSERT into uploads (`User_Id`,`File_Name`,`File_Path`,`File_Size`,`File_Type`) VALUES('$user_id','$file_name','$file_path','$file_size','$file_type'); ";
mysql_query($query);
}
else
{
print_r($errors);
}
}
if(empty($error))
{
//echo "Success"; exit;
return true;
}
return false;
}
}
在最新的PHP中不推荐使用mysql_query,它也不是那么安全。 我强烈建议切换到Mysqli或PDO。
但是,要回答您的问题,请在将变量插入数据库之前尝试对它们使用mysql_real_escape_string()。 它将转义特殊字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.