Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 23:33   #1
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию Загрузка файлов и case insensitivity

Здрасте. У меня два вопроса по поводу PHP. В поиске нужного не нашел.
1. Я сделал форму для загрузки на сервер изображения и соответственно скрипт. В скрипте при ошибке я хочу показать пользователю размер файла. Но если файл весит более 1 Мб, то $_FILES['file']['size']) равен нулю. Почему так.
2. Как сделать так, чтоб переменная не била чуствительна к регистру?
У меня в БД имя пользователя есть, и считаеться, что User, user, USer, и.т.д - разние пользователи. Как изменить ето? Прошу прошение за граматические ошибки. Даю код скрипта загрузки файла к пункту 1
PHP код:
<?php
function disp_filesize($filesize){
   
    if(
is_numeric($filesize)){
    
$decr 1024$step 0;
    
$prefix = array('Байт','Кб','Мб','Гб','Тб','Сб');
       
    while((
$filesize $decr) > 0.9){
        
$filesize $filesize $decr;
        
$step++;
    }
    return 
round($filesize,2).' '.$prefix[$step];
    } else {

    return 
'NaN';
    }
   
}

include 
"functions.php";
if (!
checkcookies()){
echo
"Помилка! Ви не авторизовані, бо не введені Ваші!логін та/або пароль! Будь-ласка, <a href=index.php>авторизуйтесь</a>";
exit;
}
else{
$nick=$_COOKIE['nick'];
$pass=$_COOKIE['pass'];
if (
checkcredinals($nick,$pass)!=1){
echo 
"Помилка! Ви не авторизовані, бо введені невірні логін та/або пароль! Будь-ласка, <a href=index.php>авторизуйтесь</a>";
}else{
if (((
$_FILES["file"]["type"] == "image/gif")
|| (
$_FILES["file"]["type"] == "image/jpeg")
|| (
$_FILES["file"]["type"] == "image/mp3")
|| (
$_FILES["file"]["type"] == "image/pjpeg"))
&& (
$_FILES["file"]["size"] < 50*1024))
  {
  if (
$_FILES["file"]["error"] > 0)
    {
    echo 
"Помилка завантаження! фф";
echo
"<script>javascript:window.location=('http://ivan.s')<script>";
    }
  else
    {
     
$a=explode(".",$_FILES['file']['name']);
$b=count($a);
$b--;
$ext=$a[$b];

$data=$_COOKIE['nick'];
    
      
move_uploaded_file($_FILES["file"]["tmp_name"],
      
"avatars/$data.$ext");
    echo
"Аватарка завантажена";
echo
"<html><script>javascript:window.location=('http://ivan.s')</script></html>";
}
    }
  else
  {
$a=explode(".",$_FILES['file']['name']);
$b=count($a);
$b--;
$ext=$a[$b];
$sizen=($_FILES["file"]["size"]%1024);
$sizeb=($_FILES["file"]["size"]);
$sizec=$sizeb-$sizen;
$sizer=$sizec/1024
echo 
"Сталася помилка із завантаженням аватарки.Ось можливі причини:<br><li>Дозволяється завантажувати лише файли форматів <b>gif, jpeg, pjpeg, jpg</b>( у вас розширення файла - <b> $ext</b> )";
echo
"<br><li> Розмір файла не повинен перевищувати <b>50 Кб </b> Це зроблено з міркувань безпеки (наша система зафіксувала наступний розмір файла: - <b>$sizer Кб </b>)";
echo
"<br>
Адміністрацію сайту вже повідомлено про даний випадок, і вона обов'язково перегляне інформацію, і постарається виправити! Дякуємо за розуміння!"
;
}
}
}
?>
Заранее спосибо!
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Старый 06.06.2009, 13:24   #2
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

1. Я сделал форму для загрузки на сервер изображения и соответственно скрипт. В скрипте при ошибке я хочу показать пользователю размер файла. Но если файл весит более 1 Мб, то $_FILES['file']['size']) равен нулю. Почему так.

Возможно на сервере ограничение стоит на загрузку на 1МБ, и поэтому сервер больше чем 1 мб не принимает? и соответственно вычислить размер не может.

2. Как сделать так, чтоб переменная не била чуствительна к регистру?

Переменная? - никак =) это же пхп, тут переменные чувствительны к регистру.
Можно разве что делать все переменные сразу в нижнем или верхнем регистре. Например
Код:
$a = strtolower('VaRiabLe'); 
$$a = 'значение переменной';
echo $variable; // выведет - значение переменной
iankov вне форума Ответить с цитированием
Старый 06.06.2009, 20:21   #3
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

спс, iankov. С пунктом 2 разобрался, а с 1 - нет. Ето у меня на компе. (Denver)
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка .txt файлов TriCERATOP Помощь студентам 2 18.11.2008 11:17
Загрузка иконок файлов igroman Общие вопросы Delphi 4 29.05.2008 09:00
Загрузка файлов с сервера Axxel Общие вопросы по Java, Java SE, Kotlin 4 22.11.2007 10:51
Загрузка файлов в проект Maycal Общие вопросы C/C++ 3 11.10.2007 09:46
Множественная загрузка файлов Artem Общие вопросы Delphi 14 03.08.2007 20:38