[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: if(isset($_FILES.....
XCross
Как заманался уже с этими проверками.
Вопрос только один. Как проверить отправил ли пользователь файл?

Пока проверка так:

if(isset($_FILES['userfile'])){

...

}



Но! Когда файл не отправляю то ошибка:

Warning: copy() [function.copy]: Filename cannot be empty in C:\wamp\www\admin\pages\edit.php on line 21


Как я понял скрипт смотрит не на то, что передан файл, а то, что в форме был элемент file? И поэтому условие выполняется? тогда такой вопрос: как выполнить проверку? :(



Спустя 13 минут, 8 секунд (18.05.2011 - 07:17) kirik написал(а):
if(file_exists($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], '/path/to/move/to.ext');
}

Спустя 5 минут, 41 секунда (18.05.2011 - 07:23) XCross написал(а):
kirik, огромное спасибо.
права доступа настраивать через htaccess или же

chmod (Путь до файла, '0***' );


?

Спустя 2 минуты, 39 секунд (18.05.2011 - 07:25) kirik написал(а):
Цитата (kmaks @ 18.05.2011 - 00:23)
права доступа настраивать через htaccess или же

Какие права доступа? То что ты написал - это разные вещи.

Спустя 16 минут, 1 секунда (18.05.2011 - 07:41) XCross написал(а):
Чтение, запись, выполнение

Спустя 42 минуты, 22 секунды (18.05.2011 - 08:24) kirik написал(а):
Цитата (kmaks @ 18.05.2011 - 00:41)
Чтение, запись, выполнение

Тогда chmod

Спустя 4 минуты, 39 секунд (18.05.2011 - 08:29) linker написал(а):
kmaks
Нахрена нужны права доступа, все закаченные файлы и так имеют права пользователя, под которым работает веб-сервер. Других и не надо. Если ты хочешь запретить доступ к файлам через веб, то это другая песня и делается именно через .htaccess. В папку с файлами кладешь этот файлик и пишешь туда
deny from all
, если конечно настройки веб-сервера позволят.

Спустя 20 минут, 32 секунды (18.05.2011 - 08:49) XCross написал(а):
Гуд. Тогда можно не парится насчет загруженных php-файлов(скриптов)? unsure.gif

Спустя 2 минуты, 40 секунд (18.05.2011 - 08:52) kirik написал(а):
Цитата (kmaks @ 18.05.2011 - 01:49)
Гуд. Тогда можно не парится насчет загруженных php-файлов(скриптов)?

Ни то ни другое не спасёт от этого. Нужно не давать загружать скрипты.

Спустя 2 минуты, 29 секунд (18.05.2011 - 08:54) XCross написал(а):
пока так сделал:


$up_file=pathinfo(....);

$extens=array('php','js','html');

if(!in_array($up_file['extension'],$extens)){

...

}
else{

unlink(...);

}

Спустя 1 час, 18 минут, 29 секунд (18.05.2011 - 10:13) silius написал(а):

if($_FILES['file']['size'] > 0)
{
if($_FILES['file']['type'] == 'image/pjpeg' ||
$_FILES['file']['type'] == 'image/gif' ||
$_FILES['file']['type'] == 'image/jpeg' ||
$_FILES['file']['type'] == 'image/png')
{
echo 'Файл подходит!';
}
else
{
echo 'Файл не подходит!';
}
}

else
echo 'Файл не выбран!';

image/png - mime тип, их много, выбирай которые тебе нужны

Спустя 19 минут, 54 секунды (18.05.2011 - 10:33) XCross написал(а):
Да проверка то устраивает. Меня интерсует как запретить запуск файлов, которые находятся в этой директории да и вообще запретить просмотр каталога.


http://31.163.6.31/images/

понял про что я?
Вдруг script.php переименуют в script.jpg? Незнаю может и не запустится но все-таки.

Спустя 6 минут, 32 секунды (18.05.2011 - 10:39) silius написал(а):
ааа, сори, не втупил.
можно попробывать перед заливкой chmod выставлять соответствующий, а после заливки выставлять ограничения

Спустя 8 минут, 41 секунда (18.05.2011 - 10:48) XCross написал(а):
Все. Спасибо. Гуд. smile.gif
Ща всем плюсиков наставлю smile.gif

Спустя 4 минуты, 30 секунд (18.05.2011 - 10:52) linker написал(а):
chmod(), как я сказал не поможет, если к файлу имеет право доступа веб-сервер, то любой запрос извне выполнит скрипт. Закрывают через .htaccess, вот только тогда через веб достучаться будет нельзя и картинки не будут отображаться на страницах. Конвертация поможет в один тип, например jpeg.

Спустя 3 минуты, 4 секунды (18.05.2011 - 10:55) XCross написал(а):
linker, как думаешь хватит этого:

1)При загрузке проверка формата.
2)Установка прав доступа

?Я думаю, что вполне. Хотя наверное, ошибаюсь.

А с .htaccess будут только дополнительные ежики. unsure.gif

Спустя 3 минуты, 11 секунд (18.05.2011 - 10:59) linker написал(а):
1) Проверить формат
2) Конвертнуть в JPG, например
Права, еще раз повторяю не помогут. Либо все имеют права доступа к файлам, либо никто.

Спустя 5 минут, 54 секунды (18.05.2011 - 11:04) XCross написал(а):
хм. еще кое-что вспомнил. Может переименовывать файлы? Скажам так...


$path='../images/';
$file_ext=pathinfo($path.$_FILES['userfile']['name']);

$extens=array('php','js','html');

if(!in_array($file_ext['extension'],$extens)){

rename($path.$_FILES['userfile']['name'], $path. md5($_FILES['userfile']['name']).'.'.$file_ext);

}
else{

unlink($path.$_FILES['userfile']['name']);

}

Спустя 45 секунд (18.05.2011 - 11:05) kirik написал(а):
Про безопасную загрузку изображений:
http://habrahabr.ru/blogs/php/44610/
http://habrahabr.ru/blogs/php/44615/

Спустя 23 часа, 4 минуты, 50 секунд (19.05.2011 - 10:10) Кузюм не пафосный написал(а):
Цитата (kirik @ 18.05.2011 - 04:17)
if(file_exists($_FILES['userfile']['tmp_name'])) {
  move_uploaded_file($_FILES['userfile']['tmp_name'], '/path/to/move/to.ext');
}

У меня проблема.
<input type='file' name='uploadPicture1' />

if(file_exists($_FILES['uploadPicture1']['tmp_name'])) {
echo "Изображение есть";
}

И белая страница. В чём может быть проблема? Файл загружаю в несколько килобайт, так что проблема явно не в размере файла.

Спустя 7 минут, 59 секунд (19.05.2011 - 10:18) kirik написал(а):
<form method="post" enctype="multipart/form-data">
<input
type='file' name='uploadPicture1' />
</form>

Спустя 36 минут, 36 секунд (19.05.2011 - 10:55) Кузюм не пафосный написал(а):
идиото, deleting post


_____________
Обмен Ukash на WebMoney
Быстрый ответ:

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