如何在MySQL数据库中保存的文件名?(How to save a file name in the

2019-10-29 22:21发布

我已经开发了下面这段代码给用户上传文件并保存此文件的名称在数据库中,以便在将来对其进行访问,上传会正常完成,它关系到指定的文件夹,但名称不保存在数据库中,没有人知道什么是错的代码? 尤其是下面的move_uploaded_file,因为到目前为止它的工作原理,然后它出错。

<?php
if (isset($_POST['enviar'])) {
$arq = $_FILES['arquivo']['name'];

$arq = str_replace(" ", "_", $arq);
$arq = str_replace("ç", "c", $arq);

if (file_exists("uploads/$arq")) {
  $a = 1;

  while (file_exists("uploads/[$a]$arq")) {
    $a++;
  }

  $arq = "[".$a."]".$arq;
}

if (move_uploaded_file($_FILES['arquivo']['tmp_name'], 'uploads/'.$arq)) {
  $objDb = new db();
  $link = $objDb->conecta_mysql();
  $sql = "insert into arquivos (email_vol, nomearq) values ('$email', '$arq')";
  if (mysqli_query($link, $sql)){
    echo 'Plano de aula 1 enviado com sucesso!';
  } else {
    echo (mysqli_error($link));
    echo 'Erro ao enviar o plano de aula!';
  }

} else {
  echo "Nenhum arquivo selecionado!";
}

}
?>

这是用于连接数据库的代码:

 class db { //host private $host = 'localhost'; //usuario private $usuario = '111111'; //senha private $senha = '11111111'; //banco de dados private $database = 'dsfadsfasd'; public function conecta_mysql(){ //criar a conexão $con = mysqli_connect($this->host, $this->usuario, $this->senha, $this->database); //ajustar a charser de cominicação entre a aplicação e o bd mysqli_set_charset($con, 'utf8'); //verificar se houve erro de conexão if (mysqli_connect_errno()) { echo 'Erro ao tentar se conectar com o banco de dados'.mysqli_connect_error(); } return $con; } } ?> - class db { //host private $host = 'localhost'; //usuario private $usuario = '111111'; //senha private $senha = '11111111'; //banco de dados private $database = 'dsfadsfasd'; public function conecta_mysql(){ //criar a conexão $con = mysqli_connect($this->host, $this->usuario, $this->senha, $this->database); //ajustar a charser de cominicação entre a aplicação e o bd mysqli_set_charset($con, 'utf8'); //verificar se houve erro de conexão if (mysqli_connect_errno()) { echo 'Erro ao tentar se conectar com o banco de dados'.mysqli_connect_error(); } return $con; } } ?> 

Answer 1:

不要有特权,现在发表评论,但不应该这个是这样的,再加上你不要在你的SQL脚本的末尾有一个分号

$sql = "insert into arquivos (email_vol, nomearq) values ('" . $email . "', '" 
 .$arq . "');";

而且这

if (file_exists("uploads/" . $arq)) {
  $a = 1;

  while (file_exists("uploads/". $a . ".". $arq)) {
    $a++;
  }

  $arq = $a.".".$arq;
}

与您的文件号码和名字之间的句号



文章来源: How to save a file name in the MySQL database?
标签: php mysqli