我该如何调用文件名

时间:2014-02-07 16:28:15

标签: php mysql

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

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

?>

1 个答案:

答案 0 :(得分:0)

检查您的表单。您似乎正在使用多个文件上传,因此您的$_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)
    }
}
}