Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowy obrazek (nie działa link do niego)
Forum PHP.pl > Forum > PHP
KotekMK
Witam nie znam się na php to też zacząłem szukać odpowiedzi jak przerobić pewien gotowy skrypt losowego obrazka,
Mam pewien skrypt generuje on losowo obrazki wszystko działa z tym że jest tam tylko możliwość podania linku do strony a ja chciałbym żeby po kliknięciu w nowym oknie wyświetlał się ten obrazek w Orginalnych rozmiarach.
mój plik php:

Kod
<?php
/**
* @version $Id: mod_random_image.php 2744 2006-03-11 18:15:33Z stingrey $
* @package Joomla
* @copyright Copyright © 2005 Open Source Matters. All rights reserved.
* @license [url="http://www.gnu.org/copyleft/gpl.html"]http://www.gnu.org/copyleft/gpl.html[/url] GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

global $mosConfig_absolute_path, $mosConfig_live_site;

$type             = $params->get( 'type', 'jpg' );
$folder         = $params->get( 'folder' );
$link             = $params->get( 'link' );
$width             = $params->get( 'width' );
$height         = $params->get( 'height' );
$the_array         = array();
$the_image         = array();

// if folder includes livesite info, remove
if ( strpos($folder, $mosConfig_live_site) === 0 ) {
    $folder = str_replace( $mosConfig_live_site, '', $folder );
}
// if folder includes absolute path, remove
if ( strpos($folder, $mosConfig_absolute_path) === 0 ) {
    $folder= str_replace( $mosConfig_absolute_path, '', $folder );
}
// if folder doesnt contain slash to start, add
if ( strpos($folder, '/') !== 0 ) {    
    $folder = '/'. $folder;
}
// construct absolute path to directory
$abspath_folder = $mosConfig_absolute_path . $folder;

// check if directory exists
if (is_dir($abspath_folder)) {
    if ($handle = opendir($abspath_folder)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
                $the_array[] = $file;
            }
        }
    }
    closedir($handle);

    foreach ($the_array as $img) {
        if (!is_dir($abspath_folder .'/'. $img)) {
            if (eregi($type, $img)) {
                $the_image[] = $img;
            }
        }
    }

    if (!$the_image) {
        echo _NO_IMAGES;
    } else {
          $i                 = count($the_image);
          $random         = mt_rand(0, $i - 1);
          $image_name     = $the_image[$random];
          $abspath_image    = $abspath_folder . '/'. $image_name;
          $size             = getimagesize ($abspath_image);
    
          if ($width == '') {
              ($size[0] > 100 ? $width = 100 : $width = $size[0]);
          }
          if ($height == '') {
              $coeff     = $size[0]/$size[1];
              $height = (int) ($width/$coeff);
          }
    
          $image = $mosConfig_live_site . $folder .'/'. $image_name;
          ?>
         <div align="center">
             <center><br>

                  <a href="<?php echo $image_name; ?>" target="_blank">
          
             <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />

                  </a>

         </center><br></div>
          <?php
    }
}
?>


Domyślam się że coś nie tak jest w sekcji
Kod
<a href="<?php echo $image_name; ?>" target="_blank">


Dodam jeszcze iż w oryginale końcówka wyglądała tak

Kod
         <div align="center">
             <center><br><?php
              if ($link) {
                  ?>
                  <a href="<?php echo $link; ?>" target="_blank">
                  <?php
              }
              ?>
             <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />
             <?php
              if ($link) {
                  ?>
                  </a>
                  <?php
              }
              ?>
         </center><br></div>

I w tym oryginale obrazki odnosiły się do linku który podałem w administratorze.
webdice
Proszę o dodanie odpowiedniego bbcode, w innym wypadku temat zostanie zamknięty.
KotekMK
Nie wiem czy to będzie dobrze bo udało mi się metoda prób i błędów
przerobiłem końcówkę.
Kod
         <div align="center">
             <center><br>
                  <a href="<?php echo $image; ?>" target="_blank">
             <img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />


         </center><br></div>


działa ale powiedzcie czy będzie tak ok
hwao
Cytat(webdice @ 27.01.2009, 13:19:35 ) *
Proszę o dodanie odpowiedniego bbcode, w innym wypadku temat zostanie zamknięty.


Niezastosowanie się do prośby - kod PHP umieszczamy w [PHP] a nie [CODE]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.