За последние 24 часа нас посетили 19250 программистов и 1631 робот. Сейчас ищут 845 программистов ...

работа с файлами любого формата в бд.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Andrey89, 9 июл 2009.

  1. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    Здравствуйте,форумчане.
    Итак,Есть сайт с множеством страниц.На каждой странице можно добавлять файлы,соответственно файлы сохраняются в mysql.И надо,чтобы все эти файлы со всех страниц отображались на отдельной странице..
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Бинарные файлы хранить в БД?
    Маразм.
     
  3. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    то что они отображаются на тех страницах на которых существует это работает,а как сделать,чтобы они ВСЕ отображались на одной определенной странице?
     
  4. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Убрать where из запроса, если вы об этом.

    SELECT *
    FROM table_name
     
  5. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    Чтобы они отображались на странице,я сделал из формы закачки файлов в базу,убрав саму форму закачки)):
    PHP:
    1.  
    2. <?php
    3.  
    4.   $orderby = "filename ASC";
    5.   if ($order == "time") $orderby = "uploaded_dt DESC";
    6.   if ($order == "size") $orderby = "filesize ASC";
    7.   if ($order == "size_desc") $orderby = "filesize DESC";
    8.   if ($order == "ext") $orderby = "file_ext ASC";
    9.  
    10.   if ($owner) $user_add = "and user='".quote($owner)."' ";
    11.   else        $user_add = "";
    12.  
    13.  
    14.   if (!$global)
    15.   {
    16.     if ($vars[0] == "") $vars[0] = $this->tag;
    17.     else                $vars[0] = $this->UnwrapLink($vars[0]);
    18.     $can_view   = $this->HasAccess("read",$vars[0]) || $this->IsAdmin() || $this->UserIsOwner($vars[0]);
    19.     $can_delete = $this->IsAdmin() || $this->UserIsOwner($vars[0]);
    20.   } else
    21.   {
    22.     $can_view = 1;
    23.     $vars[0] = $this->tag;
    24.   }
    25.  
    26.   if ($can_view)
    27.   {
    28.    
    29.     if ($global || ($tag == $vars[0])) $filepage = $this->page;
    30.     else $filepage = $this->LoadPage($vars[0]);
    31.     if (!$global && !$filepage["id"]) return;
    32.  
    33.     $files = $this->LoadAll( "select id, page_id, filesize, picture_w, picture_h, filename, description, uploaded_dt, user from ".
    34.                               $this->config["table_prefix"]."upload where ".
    35.                              " page_id = '". ($global?0:$filepage["id"])."' ".$user_add.
    36.                              " order by ".$orderby );
    37.     if (!is_array($files)) $files = array();
    38.  
    39.     if (!$nomark){
    40.       $title = $this->GetResourceValue("UploadTitle".($global?"Global":""));
    41.       print("<fieldset><legend>".$title.":</legend>\n");
    42.     }
    43.    
    44.     $kb  = $this->GetResourceValue("UploadKB");
    45.     $del = $this->GetResourceValue("UploadRemove");
    46.     if (!$global) $path = "@".str_replace("/", "@", $this->NpjTranslit($vars[0]))."@";
    47.     else          $path = "";
    48.  
    49.     if (!$global) $path2 = "file:/".($this->SlimUrl($vars[0]))."/";
    50.     else          $path2 = "file:";
    51.  
    52.     if (!$pictures) $path2 = str_replace("file:", "_file:", $path2);
    53.  
    54.     if (count($files))
    55.     {
    56.     ?>
    57.  <table class="upload" cellspacing="0" cellpadding="0" border="0">
    58.   <?php
    59.     }
    60.  
    61.     foreach( $files as $file )
    62.     {
    63.       $this->filesCache[$file["page_id"]][$file["filename"]] = &$file;
    64.  
    65.       $dt = $file["uploaded_dt"];
    66.       $desc = $this->Format( $file["description"], "typografica" );
    67.       if ($desc == "") $desc = "&nbsp;";
    68.       $filename = $file["filename"];
    69.       $filesize = ceil($file["filesize"]/1024);
    70.       $link = $this->Link($path2.$filename, "", $filename );
    71.  
    72.       if ($this->IsAdmin() || (!$is_global && ($this->GetPageOwner($vars[0]) == $this->GetUserName()))
    73.                            || ($file["user"]                                 == $this->GetUserName()))    
    74.        $remove_mode=1;
    75.       else $remove_mode=0;
    76.  
    77.       $remove_href = $this->Href("upload", $vars[0], "remove=".($global?"global":"local")."&file=".$filename);
    78.       ?>
    79.         <tr>
    80.          <td class="dt-" nowrap="nowrap"><span class="dt2-"><?php echo $dt ?></span>&nbsp;</td>
    81.          <?php
    82.            if ($remove_mode)
    83.            {
    84.              ?>
    85.          <td class="remove-"><a href="<?php echo $remove_href; ?>" class="remove2-"><?php echo $del; ?></a>&nbsp;</td>
    86.              <?php
    87.            } else {
    88.              ?>
    89.          <td class="remove-">&nbsp;</td>
    90.              <?php
    91.            }
    92.          ?>
    93.          <td class="size-"><span class="size2-">(<?php echo $filesize; ?>&nbsp;<?php
    94.                                                        echo $kb; ?>)</span>&nbsp;</td>
    95.          <td class="file-" nowrap="nowrap"><?php echo $link; ?></td>
    96.          <td class="desc-"><?php echo $desc ?></td>
    97.         </tr>
    98.       <?php
    99.     }
    100.     if (count($files))
    101.     {
    102.     ?>
    103.  </table>
    104.   <?php
    105.     }
    106.   if (!$nomark) echo "</fieldset>\n";
    107.   }
    108.   else
    109.   echo "<em>".$this->GetResourceValue("ActionDenied")."</em> ";
    110.  
    111. ?>
    112.  
    что в нем надо отредактировать чтобы все файлы со всех страниц появлялись?)буду премного благодарен)
     
  6. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    насколько я понимаю ошибка где то тут
    PHP:
    1.  
    2. $files = $this->LoadAll( "select id, page_id, filesize, picture_w, picture_h, filename, description, uploaded_dt, user from ".
    3.                                $this->config["table_prefix"]."upload where ".
    4.                              " page_id = '". ($global?0:$filepage["id"])."' ".$user_add.
    5.                              " order by ".$orderby );
    6.  
     
  7. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    [sql] $files = $this->LoadAll( "select id, page_id, filesize, picture_w, picture_h, filename, description, uploaded_dt, user from ".
    $this->config["table_prefix"]."upload
    order by ".$orderby );[/sql]
     
  8. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    admyx,спасибо большое,помогло)
    Еще вопросик:
    Надо чтобы эти файлы отображались в виде:

    год-месяц-день:
    час:минута:секунда - (сылка на страницу с файлом).......................................автор последнего файла Юзер(который его добавил)

    я пишу:

    PHP:
    1.  
    2. print("&nbsp;&nbsp;&nbsp;<span class=\"dt\">".$dt."</span> &mdash; (<a href=\"".
    3.               $this->href("", $link, "show_files=1")."#files\">".$link."</a>".
    4.               ") . . . . . . . . . . . . . . . . <small>".$this->GetResourceValue("LatestfileBy")." ".
    5.               ($this->IsWikiName($file["user"])?$this->Link("/".$file["user"],"",$file["user"] ):$file["user"])."</small><br />\n");
    6.  
    оно мне выдает тоже самое:

    print(" ".$dt." — (href("", $link, "show_files=1")."#files\">".$link."". ") . . . . . . . . . . . . . . . . ".$this->GetResourceValue("LatestfileBy")." ". ($this->IsWikiName($file["user"])?$this->Link("/".$file["user"],"",$file["user"] ):$file["user"])."
    \n");

    где может быть ошибка?..
     
  9. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    ребят,помогите пожалуйста..
     
  10. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Скорее всего в открытии тега PHP (<?php).
     
  11. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    Volt(220)
    спасибо большое,проблема наполовину устранилась,время и дату отображает,юзера который добавил тоже,но вот с сылкой проблема,некоректно отображает..
    какие еще есть предположения?
     
  12. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    теперь оно отображает вот так:

    2009-07-07 20:48:15 — (laba21.txt?show_files=1#files">laba21.txt) . . . . . . . . . . . . . . . . Andrey89

    laba21.txt?show_files=1#files">laba21.txt является сылкой,но когда жмешь на нее она показывает что типо не существует, а как сделать,чтобы вместо laba21.txt?show_files=1#files">laba21.txt в скобочках было название страницы? и сылка на эту страницу где хранится файл.
     
  13. Andrey89

    Andrey89 Активный пользователь

    С нами с:
    9 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    ребят помогите,что то совсем плохо с сылками..