我是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)") ;
}
}
?>
答案 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)
}
}
}