|
|
|
| Помогите, плз. В чем тут ошибка?
<?
//из файла выбора изображения:
<form name="load" action="fanart.php?action=upload" method="post">
<input type="file" name="loadimg" value="">
<input type="submit" name="submit" value="Добавить">
</form>
//из файла загрузки:
if(!$_FILES['loadimg']['size']){
if($_FILES['loadimg']['size'] <= 716800){
$img_info = pathinfo($_FILES['loadimg']['name']);
if($img_info['extension'] == 'jpg' || $img_info['extension'] == 'JPG' || $img_info['extension'] == 'gif' || $img_info['extension'] == 'GIF'){
$img_dir = "fanart/".$auth_art."/";
$img_name = time().$_FILES['loadimg']['tmp_name'];
$img_file = $img_dir.$img_name;
if(!copy($_FILES['loadimg']['tmp_name'],$img_file)){echo "Файл не загружен";}else{echo "ура!";}
}else{echo "Неправильное расширение файла. Поддерживаются: jpg, JPG, gif и GIF.";}
}else{echo "Ваш файл больше 700 кб";}
}else{echo "Вы не выбрали файл";}
}else{echo "У вас нет доступа";}
?>
|
Постоянно пишет "Вы не выбрали файл". Пробовала поменять $_FILES на $HTTP_POST_FILES - результат тот же...
Частично для этого кода я использовала галлерею Wallist, которая сама по себе тоже как-то неправильно работала (загруженные файлы не отображались). | |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 13:17)
| | Замените строку
<?php
if(!$_FILES['loadimg']['size'])
?>
|
на
<?php
if($_FILES['loadimg']['size'])
?>
|
PS В HTML-форме необходимо добавить атрибут enctype='multipart/form-data', иначе файлы будут "биться"
<form enctype='multipart/form-data' name="load" action="fanart.php?action=upload" method="post">
<input type="file" name="loadimg" value="">
<input type="submit" name="submit" value="Добавить">
</form>
|
| |
|
|
|
|
|
|
|
для: cheops
(07.11.2005 в 13:49)
| | >Замените строку
Заменила. Но результат тот же... Точнее, изначально он так и был, это я уже потом с ним намудрила, когда искала в чем ошибка... *_* | |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 14:12)
| | Выведите перед обработчиком дамп массива $_FILES
<?php
print_r($_FILES);
?>
|
Данные передаются корректно? | |
|
|
|
|
|
|
|
для: cheops
(07.11.2005 в 19:12)
| | Вот это выводится:
Array ( [loadimg] => Array ( [name] => 7628.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpCYt25K [error] => 0 [size] => 30947 ) )
|
| |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 19:48)
| | Хм... странно и пишет "Вы не выбрали файл", даже после последнего исправления? | |
|
|
|
|
|
|
|
для: cheops
(07.11.2005 в 19:51)
| | Да. Сейчас этот кусок кода выглядит вот так:
print_r($_FILES);
if($_FILES['loadimg']['size']){
if($_FILES['loadimg']['size'] <= 716800){
$img_info = pathinfo($_FILES['loadimg']['name']);
if($img_info['extension'] == 'jpg' || $img_info['extension'] == 'JPG' || $img_info['extension'] == 'gif' || $img_info['extension'] == 'GIF'){
$img_dir = "fanart/".$auth_art."/";
$img_name = time().$_FILES['loadimg']['tmp_name'];
$img_file = $img_dir.$img_name;
if(!copy($_FILES['loadimg']['tmp_name'],$img_file)){echo "Файл не загружен";}else{echo "ура!";}
}else{echo "Неправильное расширение файла. Поддерживаются: jpg, JPG, gif и GIF.";}
}else{echo "Ваш файл больше 700 кб";}
}else{echo "Вы не выбрали файл";}
}else{echo "У вас нет доступа";}
|
И в полном виде выдает следующее:
Array ( [loadimg] => Array ( [name] => 7628.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpCYt25K [error] => 0 [size] => 30947 ) ) Файл не загружен
|
| |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 19:54)
| | Хм... а если заменить
<?php
if($_FILES['loadimg']['size']){
?>
|
на
<?php
if($_FILES['loadimg']['size'] > 0){
?>
|
что-нибудь меняется? | |
|
|
|
|
|
|
|
для: cheops
(07.11.2005 в 20:35)
| | То же самое... Я пробовала так же и isset($_FILES['loadimg']['name']) и !empty($_FILES['loadimg']['size']) - результат всегда один... *_* Эх, вечно у меня ничего не работает как надо - видно и правда руки кривые. =)
Так что, ничего с этим поделать нельзя?.. | |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 20:46)
| | Пользуйтесь на здоровье-)
Рабочий код, сам таким пользуюсь, правда, модифицированным "под себя".
<FORM ENCTYPE="multipart/form-data" ACTION="imageupload.php" METHOD="POST">
The file: <INPUT TYPE="file" NAME="userfile">
<INPUT TYPE="submit" VALUE="Upload">
</FORM>
<?php
$path = "/home/mysite.loc/images/"; // путь к папке для загрузки
$max_size = 200000; .// максимальный размер файла
if (!isset($HTTP_POST_FILES['userfile'])) exit;
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
if ($HTTP_POST_FILES['userfile']['size']>$max_size) { echo "The file is too big<br>\n"; exit; }
if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg")) {
if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "The file already exists<br>\n"; exit; }
$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .
$HTTP_POST_FILES['userfile']['name']);
if (!$res) { echo "upload failed!<br>\n"; exit; } else { echo "upload sucessful<br>\n"; }
echo "File Name: ".$HTTP_POST_FILES['userfile']['name']."<br>\n";
echo "File Size: ".$HTTP_POST_FILES['userfile']['size']." bytes<br>\n";
echo "File Type: ".$HTTP_POST_FILES['userfile']['type']."<br>\n";
} else { echo "Wrong file type<br>\n"; exit; }
}
?>
|
| |
|
|
|
|
|
|
|
для: Zew
(07.11.2005 в 20:46)
| | Спасибо большое, работает! =)) Мдя, видимо, действительно у меня не поддерживался этот $_FILES - вот с помощью этого кода переделала свой, и заработало! =) | |
|
|
|