|
|
|
| Здравствуйте. есть загрузчик картинок, вот только он не хочет ничего загружать, буквально файл просто не хочет загружаться, проверки на формат и т.д. осуществляются, а файл не грузится.. в чём проблема вот код?
<?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'];
}
?>
|
| |
|
|
|
|
|
|
|
для: DOKERATOR
(26.08.2012 в 15:42)
| | Файл $_FILES['filename']['tmp_name'] во временной директории появляется? | |
|
|
|
|
|
|
|
для: 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'];
|
Здесь можно почитать о кодах ошибок. | |
|
|
|
|
|
|
|
для: DOKERATOR
(26.08.2012 в 15:42)
| | И, кстати.
>if ($_FILES['file_name']['size'] < 1024) {
> $name = $_FILES['filename']['name'];
Имена-то разные! filename и file_name | |
|
|
|
|
|
|
|
для: alexander95
(27.08.2012 в 12:33)
| | имена поправил.
файл даже во временной директории не появляется. не знаю почему даже. | |
|
|
|
|
|
|
|
для: DoKeRaToR
(27.08.2012 в 17:59)
| | $_FILES['filename']['error'] что показывает? Если файл успешно загружен - то должно быть 0.
Если нет, то по коду ошибки можно определить в чем дело.
Файл может не загружаться, если он весит больше, чем определено в настройках PHP. | |
|
|
|