[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Опять загрузка файлов
Гость777
Привет! Посмотрите код загрузки картинов. Что не так? или все так))) Ваши сове ты, пожелания, предложения)))


<?php

//Переменной file присваиваем имя загружаемого файла
$file = $_FILES["foto"]["name"] ;

//В переменную path помещаем расширение загружаемого файла
$path = pathinfo ($file, PATHINFO_EXTENSION) ;

//В массив помещаем допустимые для загрузки расширения файлов
$jpg = array ("jpg") ;

//Если нажата кнопка submit, начинаем проверять
if (isset ($_POST['s']))
{
//Если юзер выбрал файл для загрузки, пролоджаем, иначе рагуемся
if ($file)
{
//Если в имени файла нету недопустисых символов, продолжаем, иначе вновь ругае мся
if (!preg_match ("#[\'\"\;\'&# 092;:]#", $file))
{
//Если расширение загружаемого файла соотвутствует доступному для за грузки, продолжаем, иначе...
if (in_array ($path, $jpg))
{
//И если все в поряде, перемещаем файл в постоянное место жительств а, иначе... не видать удачи
if (move_uploaded_file ($_FILES["foto"][& quot;tmp_name"], $file))
{
echo "Файл успешно загружее" ;
}
else
{
echo "Не удалось загрузить файл" ;
}
}

else
{
echo "Допустимое расширение - jpg" ;
}
}

else
{
echo "В имени файла недопустимые символы" ;
}
}

else
{
echo "Вы не выбрали файл" ;
}
}


?>




<!--------------- Форма для загрузки файла --------------->
<form acton="" method="post" enctype=&qu ot;multipart/form-data">

<input
type="file" name="foto" /><br / >

<input
type="submit" name="s" value=&quo t;Ok" />

</form>





Спустя 1 минута, 45 секунд (30.10.2010 - 23:41) Guest написал(а):
блин, че-то мой код криво тут отобразился)))

Спустя 55 минут, 54 секунды (31.10.2010 - 00:37) inpost написал(а):
Вместо табуляции надо ставить 4 пробела, тогда будет нормально отображаться везде.

Спустя 10 часов, 15 минут, 5 секунд (31.10.2010 - 11:52) Guest написал(а):
а сам код как?

Спустя 6 минут, 13 секунд (31.10.2010 - 11:58) inpost написал(а):
У меня похожая ошибка, никак не дойду до того, чтобы исправить, все-таки надо сделать сейчас...
Очень часто заказчики отправляют картинку с расширением .JPG, а редкие извращенцы: .Jpg , код не будет проходить. Имя файла надо сводить в нижний реестр в начале или перед проверкой.
Скрипт надо запускать в том случае, если человек отправил файл. Иначе смысл этой строчки $file = $_FILES["foto"]["name"]; ?

Спустя 3 минуты, 53 секунды (31.10.2010 - 12:02) Guest написал(а):
то есть эту строку $file = $_FILES["foto"]["name"]; ? нужно писать тока если isset ($_POST['ok']) правильно?

Спустя 2 минуты, 6 секунд (31.10.2010 - 12:04) inpost написал(а):
Если человек нажал на кнопку, то $_POST['ok'] - уже будет существовать! Не будет существовать имени загружаемого файла. Я сейчас делаю проверку на if($_FILES['foto']['name'] != ""), при этом можно и по красивее проверку придумать =)

Спустя 2 минуты, 20 секунд (31.10.2010 - 12:06) Guest написал(а):
у меня ж там ниписано в скрипте



if ($file)
{
echo "Чудесно" ;
}
else
{
echo "Вы нге выбрали файл" ;
}

Спустя 5 минут, 58 секунд (31.10.2010 - 12:12) inpost написал(а):
В самом начале делать, до инициализации. Ты забиваешь память тремя (3) переменными ещё до того, как сделал проверку. Память сервака не резиновая, когда-нибудь и лопнет =)

Спустя 2 минуты, 20 секунд (31.10.2010 - 12:15) Guest написал(а):
объясни, пожалуйса, что у меня не так, я че-то не врубаюсь

Спустя 5 минут, 49 секунд (31.10.2010 - 12:20) inpost написал(а):
В самом начале пишешь:
if($_FILES['foto']['name'] != "")
{

и в самом конце закрываешь:
}
Вот и всё, если не было файла, то внутреннюю информацию скрипт даже читать не будет, и $jpg не будет назначена! Да и быстрее пройдет скрипт на 0.00000001 секунду +)

Спустя 1 минута, 50 секунд (31.10.2010 - 12:22) Guest написал(а):
Логично! Спасибо! А что у меня не так там еще?

Спустя 3 минуты (31.10.2010 - 12:25) Guest написал(а):
у тя есть ICQ,mailAGENT или че-нить еще?

Спустя 3 минуты, 3 секунды (31.10.2010 - 12:28) inpost написал(а):
Конечно есть, но это не значит, что я буду тебя консультировать. Есть какие-то вопросы, пиши тут на форуме.

Спустя 2 минуты, 17 секунд (31.10.2010 - 12:31) Guest написал(а):
я не буду тебя доставать, поверь, поделись аськой)

Спустя 53 минуты, 15 секунд (31.10.2010 - 13:24) inpost написал(а):
234358471 , если будут вопросы про ПХП - не отвечу! Отвечаю только на форуме, жестокая правда.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.