Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Проблема с проверкой фаила при Upload 
:(
    Опции темы
Гость_Den
  Дата 14.9.2003, 15:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вопрос в следующем. Нужно сделать проверку типа закачеваемого фаила папке куда его можно залить. Например картинку jpg можно залить только в католог images. Вот что я написал но почемуто не работает confused.gif Я в РНР не силен и потому помогите советом в чем я не прав и как нужно сделать чтоб работалоconfused.gif

Код
// Проверка фаила на соответствие категории
function valid_file_type($userfile){
  $userfile = strtolower($userfile);
  $type = strrchr($userfile,".");
  switch ($type){
   case ".jpg":
      return "/home/openchat/www/test/images";
        break;
   case ".mmf":
      return "/home/openchat/www/test/music";
        break;
   case ".dxm";
      return "/home/openchat/www/test/music";
        break;
  }

  return false;
}
$dir = valid_file_type($userfile_name);
if ($dir)
{
copy($userfile, $categ."/".$userfile_name);
unlink($userfile);
Header("Location: $thankspage");
}
else
{
 echo "<div align=center>Фаил не соответствует категории. <a href=javascript:history.back(-1)>Назад </a>.</div>";
}



  Вверх
MuToGeN
Дата 15.9.2003, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



$userfile будет содержать путь к фаилу на машине пользователя. Для загруженного фаила - $userfile_tmp_name

Да и вообще лучше $_FILES пользовать


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
MuToGeN
Дата 15.9.2003, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Злой_Админ
  Дата 15.9.2003, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2003
Где: Москва

Репутация: нет
Всего: нет



Как скажеш будем засорять форум smile.gif Ну дак отдели пост в отдельную тему это сделать легко wink.gif

Это сообщение отредактировал(а) Злой_Админ - 15.9.2003, 15:41
PM MAIL WWW ICQ   Вверх
buddy
Дата 16.9.2003, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.11.2002
Где: Киев

Репутация: нет
Всего: нет



MuToGeN, не $userfile_tmp_name, а $userfile_name

PM WWW ICQ MSN   Вверх
MuToGeN
Дата 16.9.2003, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Из мануала:
Цитата
For example, $userfile_name will equal $_FILES['userfile']['name']
buddy, сам я пользую $_FILES[...] вместо $userfile (чего и другим желаю), но в мануале было черным по белому написано - $userfile_что-то, где что-то - это индекс соответствующего элемента из $_FILES.
name - это имя фаила в таком виде, как оно было передано от пользователя
tmp_name - путь и имя временного фаила на сервере


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Злой_Админ
Дата 16.9.2003, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 14.9.2003
Где: Москва

Репутация: нет
Всего: нет



$_FILES это хорошо smile.gif то что у меня используется $userfile_команда это работает не у всех так как зависит от глобалс, а мало кто из хостеров его разрещает из соображений безопасности.
Проблемку я решил на следующий день просто глянул трезвым взглядом добавил одну строчку и все работает как часы smile.gif
PM MAIL WWW ICQ   Вверх
Master
Дата 17.9.2003, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



те с которыми работаю я....
valuehost и zenon разрешают... и это отнють не проблема безопасности хостинга, а кривых рук программиста... один раз попался хостинг с выкл. глобалами, так что мешает написать:

Код
foreach($_REQUEST as $k=>$v){
if(!@Isset($$k)) {
 $$k=$v;
 global $$k;
}
}


особенно учитывая то, что я для каждого сайта делаю файл, который инкляйдится отовсюду... для решения подобных вопросов.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
IZ@TOP
Дата 17.9.2003, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата
один раз попался хостинг с выкл. глобалами, так что мешает написать:

Мешает функция extract biggrin.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Master
Дата 17.9.2003, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



нет.. просто когда это писалось.. об этой функции я не знал.. а этот кусок из какой-то статьи выдрал smile.gif


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
MuToGeN
Дата 17.9.2003, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Модератор: оффтоп пошел. Тема закрыта


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.