2014-02-18 4 views
-1

Я попытался загрузить изображение и отправить его в базу данных, но он не работает. и когда я снова попытался var_dump это выход:ОШИБКА Загрузка файла с использованием php

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); 

} 

?> 
+0

проверить максимальный размер загрузки файла на php.ini –

+2

Вы не загружаете файл в базу данных. Вы просто сохраняете свой файл FILENAME в базе данных. Вы также уязвимы для атак SQL-инъекций, не имеете кода подтверждения загрузки, никакого кода обработки ошибок БД. –

+1

P.S. Используйте 'move_uploaded_file()' вместо 'copy()'. –

ответ

0

Ваш var_dump говорит «файл уже удалось». Кроме того, вы говорите, что запись базы данных работает (это ваш последний оператор), поэтому, независимо от проблемы, она не генерирует ошибок, прослеживаемых для php. Таким образом, у вас нет ошибки или не является ошибкой для php.

  1. Запустите программу и Check в C:\xampp\tmp\, если файл создан & удален.
  2. Проверьте, что вы ищете в каталоге CORRECT img/.

PS Как говорится в ракето-хамаме, используйте move_uploaded_file() вместо copy().

Смежные вопросы