php - 我如何称呼文件的名称

标签 php mysql

我是php新手,请原谅我。我正在尝试将图像上传到服务器,然后将图像名称上传到数据库,以便我可以调用它。但是,当我尝试将图像名称插入数据库时​​,它告诉我该文件的名称称为 array。我认为我错误地调用了文件名,但我不知道该调用什么文件名。我的代码如下

<?php
$pic=($_FILES['file']['name']); 
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 200000)
&& in_array($extension, $allowedExts))
  {

      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      mysql_select_db($database_myconn, $myconn) or die(mysql_error()) ; 
       mysql_query("INSERT INTO uploads (uploade) VALUES ($pic)")  ;
      }
}

?>

最佳答案

检查您的表格。看起来您正在使用多个文件上传,因此您的 $_FILE 数组结构是这样的

array(1) {
["upload"]=>array(5) {
    ["name"]=>array(3) {
        [0]=>string(9)"file0.txt"
        [1]=>string(9)"file1.txt"
        [2]=>string(9)"file2.txt"
    }
    ["type"]=>array(3) {
        [0]=>string(10)"text/plain"
        [1]=>string(10)"text/plain"
        [2]=>string(10)"text/plain"
    }
    ["tmp_name"]=>array(3) {
        [0]=>string(14)"/tmp/blablabla"
        [1]=>string(14)"/tmp/phpyzZxta"
        [2]=>string(14)"/tmp/phpn3nopO"
    }
    ["error"]=>array(3) {
        [0]=>int(0)
        [1]=>int(0)
        [2]=>int(0)
    }
    ["size"]=>array(3) {
        [0]=>int(0)
        [1]=>int(0)
        [2]=>int(0)
    }
}
}

关于php - 我如何称呼文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21632935/

相关文章:

php - cURL 请求 - 我该如何做?

mysql - SQL 触发器链接 IF 语句

php - 在 Laravel 问题中使用多个值绑定(bind)插入查询

php - UTF-8贯穿始终

php - 如何在 Laravel 5.8 中发送电子邮件

PHP/MySQL关系表咨询

mysql - NOT NULL 检查不起作用

PHP PDO mySQL 查询如果不存在则创建表

mysql - Ruby Sequel MySQL 插入错误

php - 使用 SSH 与 Laravel 连接 mysql_connect