Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка файлов на сервер!
 
 автор: сотка   (14.08.2012 в 16:47)   письмо автору
 
 

Всем привет ! Подскажите в чем проблема ?

 $var = $form->fields['apk']->get_filename() ;
        $vari = $form->fields['icon']->get_filename() ;
        if(!empty($var))
        {
          $apk = "android/files/android/".$var;
          $icon = "android/files/android/icon/".date("YmdHis",time()).".$vari";
        }


$icon переименовывается и пишется в БД ,а вот в директорию сервера попадает без переименования файла...

  Ответить  
 
 автор: admin   (14.08.2012 в 16:57)   письмо автору
 
   для: сотка   (14.08.2012 в 16:47)
 

вот в чем проблема
         $_FILES["filename"]["name"] = mt_rand(1000,99999999); // формируется имя в цифрах
$_FILES["filename"]["name"] .=".".$format; 

  Ответить  
 
 автор: сотка   (14.08.2012 в 17:04)   письмо автору
 
   для: admin   (14.08.2012 в 16:57)
 

не понял Вас...

  Ответить  
 
 автор: admin   (14.08.2012 в 17:17)   письмо автору
 
   для: сотка   (14.08.2012 в 17:04)
 

смотри
$icon = "android/files/android/icon/".date("YmdHis",time()).".$vari";

тут у тебя переименовывается за счет .date("YmdHis",time()).
а тут $apk = "android/files/android/".$var; - у тебя просто получается имя файла

попробуй так
        if(!empty($var))
        {
          $apk = "android/files/android/".date("YmdHis",time()).".$var";
          $icon = "android/files/android/icon/".date("YmdHis",time()).".$vari";
        }

  Ответить  
 
 автор: сотка   (14.08.2012 в 17:28)   письмо автору
 
   для: admin   (14.08.2012 в 17:17)
 

Так и должно быть! Меня интересует почему $icon попадает в android/files/android/icon/ (директорию) как просто icon.png а не 20120814160511.icon.png !

  Ответить  
 
 автор: сотка   (14.08.2012 в 17:36)   письмо автору
 
   для: сотка   (14.08.2012 в 17:28)
 

 try
  {
    $elem['name'] = new field_text("name",
                           "Название",
                           false,
                           $_POST['name']);
    $elem['boby'] = new field_textarea("boby",
                           "Описание",
                           false,
                           $_POST['boby']); 
   $elem['system'] = new field_text("system",
                           "Версия OS",
                           false,
                           $_POST['system']);  
    $elem['date']        = new field_datetime("date",
                                  "Дата добавления",
                                  $_POST['date']);                                       
                           
    $elem['apk']  = new field_file("apk",
                            "Apk-файл",
                             false,
                             $_FILES,
                            "../../android/files/android/");
                            
    $elem['icon']  = new field_file("icon",
                            "Иконка - apk",
                             false,
                             $_FILES,
                            "../../android/files/android/icon/");                                 
   
                            
    $elem['pollnumber'] = new field_text_int("pollnumber",
                                     "Количество проголосовавших",
                                      false,
                                     $_POST['pollnumber']);
    $elem['pollmark'] = new field_text_int("pollmark",
                                   "Количество голосов",
                                    false,
                                    $_POST['pollmark']);                     
  
    $elem['hide'] = new field_checkbox("hide",
                               "Отображать",
                               $_REQUEST['hide']);
     $elem['id_parent'] = new field_hidden_int("id_parent",
                                 true,
                                 $_REQUEST['id_parent']);                            
    $elem['page'] = new field_hidden_int("page",
                                 false,
                                 $_REQUEST['page']);
                                 
    $form = new form($elem,   
                     "Добавить",  
                     "field");
  
    // Обработчик HTML-формы
    if(!empty($_POST))
    {
      // Проверяем корректность заполнения HTML-формы
      // и обрабатываем текстовые поля
      $error = $form->check();
      if(empty($error))
      {
        // Извлекаем текущую максимальную позицию
        $query = "SELECT MAX(pos) FROM $tbl_android_position
                  WHERE id_apk={$form->fields['id_parent']->value}";
        $pos = mysql_query($query);
        if(!$pos)
        {
          throw new ExceptionMySQL(mysql_error(), 
                                   $query,
                                  "Ошибка при извлечении 
                                   текущей позиции");
        }
        $pos = mysql_result($pos, 0) + 1;
        // Скрытый или открытая позиция
        if($form->fields['hide']->value) $showhide = "show";
        else $showhide = "hide";
        // Изображения
       
        $var = $form->fields['apk']->get_filename() ;
        $vari = $form->fields['icon']->get_filename() ;
        if(!empty($var))
        {
          $apk = "android/files/android/".$var;
          $icon = "android/files/android/icon/".date("YmdHis",time()).".$vari";
        }
      

       
        // Формируем SQL-запрос на добавление позиции
        $query = "INSERT INTO $tbl_android_position
                  VALUES (NULL,
                          '{$form->fields[name]->value}',
                          '{$form->fields[boby]->value}',
                          '{$form->fields[system]->value}',
                          '{$form->fields[date]->get_mysql_format()}',
                          '$apk',
                          '$icon',
                          '{$form->fields[pollnumber]->value}',
                          '{$form->fields[pollmark]->value}',
                          '$showhide',
                           $pos,
                          {$form->fields[id_parent]->value})";
        if(!mysql_query($query))
        {
          throw new ExceptionMySQL(mysql_error(), 
                                   $query,
                                  "Ошибка при добавлении 
                                   позиции");
        }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования