Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не выполняется загрузка файлов
 
 автор: DOKERATOR   (26.08.2012 в 15:42)   письмо автору
 
 

Здравствуйте. есть загрузчик картинок, вот только он не хочет ничего загружать, буквально файл просто не хочет загружаться, проверки на формат и т.д. осуществляются, а файл не грузится.. в чём проблема вот код?

<?php
$kart
=md5("kart");
if(
$_GET['load']==$kart){
if (isset(
$_SESSION['login'])){
print
"<b><big>".$_SESSION['login'].", Выберите файл для загрузки!</b></big><br>";
}else{
exit(
"Вы не авторизованы и не можете загружать файлы! Авторизуйтесь для загрузки файлов или покиньте эту страницу!<br>");
}

print <<<HERE
<form method="post" action="./index.php?load=$kart" enctype="multipart/form-data">
<input type="file" name="filename" />
<input type="text" name="name" />
<input value="Загрузить" type="submit" />
</form>
HERE;
if (
is_uploaded_file($_FILES['filename']['tmp_name'])) {
    if (
$_FILES['file_name']['size'] < 1024) {
    
$name $_FILES['filename']['name'];
    switch (
$_FILES['filename']['type']) {
    case 
"image/bmp":
    
$ert "bmp";
    break;
    case 
"image/png":
    
$ert "png";
    break;
    case 
"image/jpeg":
    
$ert "jpeg";
    break;
    default: print 
"Формат изображения не подходит"$ert false;
    }
   if (
$ert) {
       
$n $name $ert;
       
move_uploaded_file($_FILES['filename']['tmp_name'], "kart/$name");
       if (
file_exists("kart/$name")) {
       print 
"Ваша картинка:<br /><img src='$n' />";
       } else {
           print 
"Нет файла";
       }
   } else {
       print 
"Формат не получен";
   }
    } else {
        print 
"Превышен объем";    
    }
} else {
    print 
"...";
}
print 
"<br />";
print 
$_POST['name'];
}
?>

  Ответить  
 
 автор: cheops   (27.08.2012 в 06:50)   письмо автору
 
   для: DOKERATOR   (26.08.2012 в 15:42)
 

Файл $_FILES['filename']['tmp_name'] во временной директории появляется?

  Ответить  
 
 автор: alexander95   (27.08.2012 в 12:32)   письмо автору
 
   для: DOKERATOR   (26.08.2012 в 15:42)
 

Посоветовал бы move_uploaded_file() заключить в if(){}, т.к. эта функция возвращает true | false.
В итоге должно получиться что-то такое:

if(!move_uploaded_file($_FILES['filename']['tmp_name'], "kart/$name"))
    echo $_FILES['filename']['error'];


Здесь можно почитать о кодах ошибок.

  Ответить  
 
 автор: alexander95   (27.08.2012 в 12:33)   письмо автору
 
   для: DOKERATOR   (26.08.2012 в 15:42)
 

И, кстати.
>if ($_FILES['file_name']['size'] < 1024) {
> $name = $_FILES['filename']['name'];

Имена-то разные! filename и file_name

  Ответить  
 
 автор: DoKeRaToR   (27.08.2012 в 17:59)   письмо автору
 
   для: alexander95   (27.08.2012 в 12:33)
 

имена поправил.
файл даже во временной директории не появляется. не знаю почему даже.

  Ответить  
 
 автор: vulk   (29.08.2012 в 15:57)   письмо автору
 
   для: DoKeRaToR   (27.08.2012 в 17:59)
 

$_FILES['filename']['error'] что показывает? Если файл успешно загружен - то должно быть 0.
Если нет, то по коду ошибки можно определить в чем дело.
Файл может не загружаться, если он весит больше, чем определено в настройках PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования