错误使用php上传文件

时间:2014-02-18 15:06:07

标签: php mysqli

我尝试上传图片并将其发送到数据库,但它无法正常工作。 当我再次尝试var_dump时 这是输出:

array(1) {
    ["upload"]=> array(5) {
        ["name"]=> string(9) "error.jpg"
        ["type"]=> string(10) "image/jpeg"
        ["tmp_name"]=> string(24) "C:\xampp\tmp\php8E94.tmp"
        ["error"]=> int(0)
        ["size"]=> int(82805)
    }
}

这是我的代码:

  <?php

include ('includes/config.php');

$mysqli =  new mysqli(DB_SERVER,DB_UNAME,DB_PASSWD,DB_NAME);

if($mysqli->connect_errno){

    echo "MYSQLI connect error no {$mysqli->connect_errno} : {$mysqli->connect_error}";
    die();
}



if(isset($_POST['addbtn'])){


$itemcode  = $_POST['icode'];
$itemname  = $_POST['iname'];
$brandname = $_POST['brandname'];
$upload    = basename ($_FILES['upload']['name']);
$path = "img/";

  if(!empty($upload)){
        $i1 = strrpos($upload,".");
        if (!$i1) { return ""; }
        $l1 = strlen($upload) - $i1;
        $ext1 = substr($upload,$i1+1,$l1);
        $ext1 = strtolower($ext1);
        $news_name1=time()+(1).'.'.$ext1;
        $newname1 = $path.$news_name1;
        $copied1 = copy($_FILES['upload']['tmp_name'], $newname1);


    }else{
        $news_name1 = '';



    }

$iadd = $mysqli->prepare("INSERT INTO table_item (`itemcode`,`itemname`,`brandname`,`upload`) VALUES ('".$itemcode."', '".$itemname."','".$brandname."','".$news_name1."')  ");
$iadd->execute();
$iadd->close();
$mysqli->close();

var_dump($_FILES);

}

?>

1 个答案:

答案 0 :(得分:0)

你的var_dump说“文件已经被管理”了。另外,你说数据库录制工作(这是你的最后一个声明),所以无论问题是什么,它都不会产生可追溯到php的错误。所以你没有错误或者不是php的错误。

  1. 运行您的程序并检查C:\xampp\tmp\是否创建了文件&amp;删除。
  2. 确认您正在查看CORRECT img/目录。
  3. PS正如rocket-hazmat所说,使用move_uploaded_file()代替copy()