За последние 24 часа нас посетили 200889 программистов и 2078 роботов. Сейчас ищут 1996 программистов ...

Нужно вывести превью картинки из временной директории

Тема в разделе "PHP для новичков", создана пользователем MrAndrew, 6 сен 2010.

  1. MrAndrew

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

    С нами с:
    11 дек 2009
    Сообщения:
    74
    Симпатии:
    0
    Здравствуйте.

    Никак не могу вывести превью картинки из директории. Вся остальная информация выводится на ура! Превью же, выводится из основной директории, причем картинка выбирается на угад... Прошу помощи... Вот код awaiting.php:

    PHP:
    1. <?php
    2.  
    3. $templates_used = 'awaiting,awaiting_images_bit';
    4. $main_template = 'awaiting';
    5.  
    6. define('GET_CACHES', 1);
    7. define('GET_USER_ONLINE', 1);
    8. define('ROOT_PATH', './');
    9. include(ROOT_PATH.'global.php');
    10. require(ROOT_PATH.'includes/sessions.php');
    11. $user_access = get_permission();
    12. include(ROOT_PATH.'includes/page_header.php');
    13. include(ROOT_PATH.'includes/paging.php');
    14.   $getpaging = new Paging($page, $perpage, $num_rows_all, $link_arg);
    15.   $offset = $getpaging->get_offset();
    16.   $site_template->register_vars(array(
    17.     "paging" => $getpaging->get_paging(),
    18.     "paging_stats" => $getpaging->get_paging_stats()
    19.   ));
    20.        
    21.  
    22. $imgtable_width = ceil(intval($config['image_table_width']) / $config['image_cells']);
    23. if ((substr($config['image_table_width'], -1)) == "%") {
    24.   $imgtable_width .= "%";
    25. }
    26.  
    27. $additional_sql = "";
    28. if (!empty($additional_image_fields)) {
    29.   foreach ($additional_image_fields as $key => $val) {
    30.     $additional_sql .= ", i.".$key;
    31.   }
    32. }
    33.  
    34.   $logged_in_id = trim($user_info['user_id']);
    35.   $sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_media_file, i.image_thumb_file".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
    36.          FROM (".IMAGES_TEMP_TABLE." i,  ".CATEGORIES_TABLE." c)
    37.          LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
    38.          WHERE i.user_id = $logged_in_id
    39.          ORDER BY i.image_date DESC
    40.          LIMIT $offset, $perpage";
    41.  
    42.  
    43.  
    44.   $result = $site_db->query($sql);
    45. $num_rows = $site_db->get_numrows($result);
    46.  
    47. if (!$num_rows)  {
    48.   $awaiting_new_images = "<table align=\"center\" width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\"><tr class=\"imagerow1\"><td align=\"center\">";
    49.   $awaiting_new_images .= $lang['awaiting_images_no'];
    50.   $awaiting_new_images .= "</td></tr></table>";
    51. }
    52. else  {
    53.   $awaiting_new_images = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">\n";
    54.   $count = 0;
    55.   $bgcounter = 0;
    56.   $prev_image_id = -1;
    57.   while ($image_row = $site_db->fetch_array($result)) {
    58.     if ($image_row['image_id'] == $prev_image_id) {
    59.       continue;
    60.     }
    61.     $prev_image_id=$image_row['image_id'];
    62.     if ($count == 0) {
    63.       $row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
    64.       $awaiting_new_images .= "<tr class=\"imagerow".$row_bg_number."\">\n";
    65.  
    66.     }
    67.     $awaiting_new_images .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";
    68.  
    69.     show_image_awaiting($image_row, "awaiting");
    70.     $awaiting_new_images .= $site_template->parse_template("awaiting_images_bit");
    71.     $awaiting_new_images .= "\n</td>\n";
    72.     $count++;
    73.     if ($count == $config['image_cells']) {
    74.     $awaiting_new_images .= "</tr>\n";
    75.  
    76.       $count = 0;
    77.     }
    78.   } // end while
    79.  
    80.   if ($count > 0)  {
    81.     $leftover = ($config['image_cells'] - $count);
    82.     if ($leftover >= 1) {
    83.       for ($f = 0; $f < $leftover; $f++) {
    84.       $awaiting_new_images .= "<td width=\"".$imgtable_width."\">\n&nbsp;\n</td>\n";
    85.  
    86.       }
    87.       $awaiting_new_images .= "</tr>\n";
    88.     }
    89.   }
    90.   $awaiting_new_images .= "</table>\n";
    91. }  // end else
    92.  
    93. $site_template->register_vars("awaiting_new_images", $awaiting_new_images);
    94. unset($awaiting_new_images);
    95.  
    96. $site_template->register_vars(array(
    97.   "msg" => $msg,
    98.   "clickstream" => $clickstream,
    99.   "lang_userlist_title" => $lang['lang_userlist_title']
    100. ));
    101. $site_template->print_template($site_template->parse_template($main_template));
    102. include(ROOT_PATH.'includes/page_footer.php');
    103. ?>
    и funktions.php:

    PHP:
    1. // -----------------------------------------------
    2. // --- Start Mod "my awaiting images" ------------
    3. //------------------------------------------------
    4.  
    5. function show_image_awaiting($image_row, $mode = "", $show_link = 1, $detailed_view = 0) {
    6.   global $self_url, $site_template, $site_sess, $user_info, $config, $cat_cache, $lang, $additional_image_fields, $user_table_fields, $url_show_profile;
    7.  
    8.   if (!check_permission("auth_viewimage", $image_row['cat_id']) || !check_permission("auth_viewcat", $image_row['cat_id'])) {
    9.     $show_link = 1;
    10.   }
    11.  
    12.   if (isset($image_row[$user_table_fields['user_name']]) && $image_row['user_id'] != GUEST) {
    13.     $user_name = format_text($image_row[$user_table_fields['user_name']], 2);
    14.  
    15.     $user_profile_link = (!empty($url_show_profile)) ? str_replace("{user_id}", $image_row['user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&amp;".URL_USER_ID."=".$image_row['user_id'];
    16.     $user_name_link = "<a href=\"".$site_sess->url($user_profile_link)."\">".$user_name."</a>";
    17.   }
    18.   else {
    19.     $user_name = format_text($lang['userlevel_guest'], 2);
    20.     $user_name_link = $user_name;
    21.   }
    22.  
    23.   $site_template->register_vars(array(
    24.     "image_id" => $image_row['image_id'],
    25.     "user_id" => $image_row['user_id'],
    26.     "image_date" => format_date($config['date_format']." ".$config['time_format'], $image_row['image_date']),
    27.     "user_name" => $user_name,
    28.     "user_name_link" => $user_name_link,
    29.     "image_name" => format_text($image_row['image_name'], 2),
    30.     "image_url" => ($show_link) ? $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_row['image_id'].((!empty($mode)) ? "&amp;mode=".$mode : "")) : "",
    31.     "image" => get_media_code($image_row['image_media_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode, $show_link, $detailed_view),
    32.     "thumbnail" => get_thumbnail_code_awaiting($image_row['image_media_file'], $image_row['image_thumb_file'], $image_row['image_id'], $image_row['image_name'], $mode, $show_link),
    33.     "thumbnail_openwindow" => get_thumbnail_code_awaiting($image_row['image_media_file'], $image_row['image_thumb_file'], $image_row['image_id'], $image_row['image_name'], $mode, $show_link, 1),
    34.     "image_file_name" => $image_row['image_media_file'],
    35.     "thumbnail_file_name" => $image_row['image_thumb_file']
    36.   ));
    37.  
    38.   if (!empty($additional_image_fields)) {
    39.     $additional_field_array = array();
    40.     foreach ($additional_image_fields as $key => $val) {
    41.       $additional_field_array[$key] = (!empty($image_row[$key])) ? format_text($image_row[$key], 1) : REPLACE_EMPTY;
    42.       $additional_field_array['lang_'.$key] = $val[0];
    43.     }
    44.     if (!empty($additional_field_array)) {
    45.       $site_template->register_vars($additional_field_array);
    46.     }
    47.   }
    48.   return true;
    49. }
    50.  
    51.  
    52.  
    53. function get_thumbnail_code_awaiting($media_file_name, $thumb_file_name = "", $image_id, $cat_id, $image_name = "", $mode = "", $show_link = 1, $open_window = 0) {
    54.   global $site_sess, $config;
    55.  
    56.   if (!check_media_type($media_file_name)) {
    57.     $thumb = "<img src=\"".ICON_PATH."/404.gif\" border=\"0\" alt=\"\" />";
    58.   }
    59.   else {
    60.     if (!get_file_path($thumb_file_name, "thumb", $cat_id, 0, 0)) {
    61.       $file_src = ICON_PATH."/".get_file_extension($media_file_name).".gif";
    62.       $image_info = @getimagesize($file_src);
    63.       $width_height = (!empty($image_info[3])) ? " ".$image_info[3] : "";
    64.       $thumb = "<img src=\"data/tmp_thumbnails/".$thumb_file_name."\" border=\"0\"".$width_height." alt=\"".format_text($image_name, 2)."\" />";
    65.     }
    66.     else {
    67.       $file_src = get_file_path($thumb_file_name, "thumb", $cat_id, 0, 1);
    68.       $image_info = @getimagesize($file_src);
    69.       $width_height = (!empty($image_info[3])) ? " ".$image_info[3] : "";
    70.       $thumb = "<img src=\"data/tmp_thumbnails/".$thumb_file_name."\" border=\"".$config['image_border']."\"".$width_height." alt=\"".format_text($image_name, 2)."\" />";
    71.     }
    72.   }
    73.  
    74.   if ($show_link) {
    75.     if ($open_window) {
    76.       $thumb = "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&amp;mode=".$mode : ""))."\" onclick=\"opendetailwindow()\" target=\"detailwindow\">".$thumb."</a>";
    77.     }
    78.     else {
    79.       $thumb = "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id.((!empty($mode)) ? "&amp;mode=".$mode : ""))."\" target=\"_blank\">".$thumb."</a>";
    80.     }
    81.   }
    82.   return $thumb;
    83. }
    84. // -----------------------------------------------
    85. // --- End Mod "my awaiting images" --------------
    86. //------------------------------------------------
    Что неправильно?

    Благодарю
     
  2. genialno

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

    С нами с:
    6 сен 2010
    Сообщения:
    3
    Симпатии:
    0
    хз, если бы комментов по коду более, тебе бы спецы быстрее помогли?
     
  3. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    слишком много кода, редко кому охота разбираться в чужом коде + много неизвестных подключаемых данных.
    попробуй немного локализовать проблему или перефразировать вопрос