Random Photo Block

Begonnen von Sascha1981, 07 März 2004, 21:50:37

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Sascha1981

Hab das jetzt so versucht!!

<?php

if (eregi("block-RandomPic.php",$PHP_SELF)) {
Header("Location: index.php");
die();
}


mt_srand((double)microtime()*1000000);
$imgs = dir('modules/User_Fotoalbum/album');
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file)) {
$imglist .= "$file ";
}
}
closedir($imgs->handle);
$imglist = explode(" ", $imglist);
$a = sizeof($imglist)-2;
$random = mt_rand(0, $a);
$uname = $imglist[$random];
$asin = explode(".", $uname);
$temp = explode('.',$asin); // teile den String in 2 Teile
$uname = $temp[0]; // verwende nur den ersten

$content .= "<a href=\"modules.php?name=Userinfo&uname=$uname\"><img src=\"modules/User_Fotoalbum/album/$uname\" width=\"120\" border=\"0\"></a></center>";

?>




Aber das funktioniert irgendwie nicht!
Vielleicht bin ich auch zu blöd dazu!!

jubilee

Hallo!
Schnell mal geschaut ....
das
 
Zitat$random = mt_rand(0, $a);
$uname = $imglist[$random];
$asin = explode(".", $uname);
$temp = explode('.',$asin); // teile den String in 2 Teile
$uname = $temp[0]; // verwende nur den ersten

$content .= "<a href=\"modules.php?name=Userinfo&uname=$uname\"><img src=\"modules/User_Fotoalbum/album/$uname\" width=\"120\" border=\"0\"></a></center>";

 
mal so ändern :
 
Zitat$random = mt_rand(0, $a);
$uname = $imglist[$random];
$asin = explode(".", $uname);

$content .= "<a href=\"modules.php?name=Userinfo&uname=$asin[0]\"><img src=\"modules/User_Fotoalbum/album/$uname\" width=\"120\" border=\"0\"></a></center>";

 
MfG
jubilee

Sascha1981


Sascha1981

So jetzt funktioniert ist!!!

Hab kurzer hand das User_photoalbum so ungeschrieben das daß erste Photo nicht in der form $uname1.gif/jpg gespeichert wird sondern so $uname.gif/jpg

Andi

So, für alle anderen, die mX 2.2 Version:

php
//////////////////////////////////////////
// Blockcache erlauben?
$mxblockcache = TRUE;
// Pfad zu den Bildern
$imagedir = 'modules/User_Fotoalbum/album';
// maximale Breite des Bildes
$maxwidth = 120;
//////////////////////////////////////////

$imglist = array();
$imgs = dir($imagedir);
while ($file = $imgs -> read()) {
if (preg_match('#(.*)([0-9])(\.gif|\.jpe?g)$#i', $file, $matches)) {
$imglist[] = $matches;
}
}
closedir($imgs->handle);

if (count($imglist)) {
srand ((float)microtime()*1000000);
shuffle($imglist);
$size = getimagesize($imagedir.'/'.$imglist[0][0]);
$size = ($size[0] > $maxwidth) ? 'width="120"' : $size[3];

$content = '
<center>
<img src="'.$imagedir.'/'.$imglist[0][0].'" '.$size.' border="0" alt="'.$imglist[0][1].'">
<a href="modules.php?name=Userinfo&uname='.$imglist[0][1].'">
<b>'.$imglist[0][1].'</b></a>
</center>';
}

 

naja, hier gleich zum downloaden....
 //modules.php?name=Downloads&d_op=getit&lid=349

[Editiert am 12.3.2004 von Tora]
schön´s Grüssle, Andi

NeMeSiSX2LC

Wenn wir grad so schön dabei sind Idee von mir!

Das mit dem block ist ja schon eine nette sache aber wie wäre es denn wenn es das random verfahren auch im YA geben würde??
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Sascha1981

Wie meinst du das jetzt????

NeMeSiSX2LC

Na jeder User kann doch 6 Bilder hochladen. Und normalerweise wird davon das erste im Profil angezeigt. So aber wäre es auch nicht nicht wenn zufällig bei jedem User Besuch ein anderes aus denn 6 Bilder ausgefällt wird?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

rinaldo2000at

Super Tora!

Leider ist noch ein kleiner Bug mit Zahlen noch drinnen,
und zwar wenn ein Benutzername aus Buchstaben und Zahlen besteht, so wird das leider falsch verknüpft-angezeigt-weggeschnitten.

  Beispiele:

Benutzername:   ganymed1610 wird zu   ganymed161

oder   schmidtfan53 wird zu   schmidtfan5


Andi

 :)  ;)

uuups, da muss ich den regex nochmal checken....
schön´s Grüssle, Andi

rinaldo2000at

Konnte das Problem schon gelöst werden?

rinaldo2000at

Das problem besteht leider immer noch!  :'(

rinaldo2000at

Gibt es für mein problem noch keine Lösung?
ZitatLeider ist noch ein kleiner Bug mit Zahlen noch drinnen,
und zwar wenn ein Benutzername aus Buchstaben und Zahlen besteht, so wird das leider falsch verknüpft-angezeigt-weggeschnitten.

  Beispiele:

Benutzername:   ganymed1610 wird zu   ganymed161

oder   schmidtfan53 wird zu   schmidtfan5


NeMeSiSX2LC

Wenn du dauernd wieder fragst belasstet uns das Problem immer weniger. Ist dir aber klar ne?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hmmm ....
Antwort darauf müsste hier irgendwo im Forum stehen.
Habe ich schon mal für den Cramp gerichtet.
Naja, egal.
Diese Code sollte funktionieren :

<?php // $Id: block-Random_Userphoto.php,v 1.3 2004/04/02 14:35:40 EllselAn Exp $

/**********************************************************************/

/* pragmaMx 0.2 / Mx 2.2  Content Management System Platform          */

/* ================================================================== */

/* Copyright (C) 2004 by the vkpMx & pragmaMx Developer Team          */

/* email:        team@pragmamx.org                                    */

/* homepage:     http://www.maax-design.de & http://www.pragmaMx.org  */

/* ================================================================== */

/*   The vkpMx is distributed free of charge by maax-design.de.       */

/*   The use of this system is allowed until copyright information    */

/*   is shown perspicuous visible and correcty on all system pages.   */

/*   Sales, rent out and the use of single code parts from this       */

/*   system must be allowed by maax-design.de.                        */

/**********************************************************************/

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");



//////////////////////////////////////////

// Blockcache erlauben?

$mxblockcache TRUE;

// Pfad zu den Bildern

$imagedir 'modules/User_Fotoalbum/album';

// maximale Breite des Bildes

$maxwidth 120;

//////////////////////////////////////////



$imglist = array();

$imgs dir($imagedir);

while (
$file $imgs -> read()) {

if (preg_match('#(.*)([0-9]{1})\.(gif|jpe?g)$#i'$file$matches)) {

$imglist[] = $matches;

}

}

closedir($imgs->handle);

#mxDebugFuncVars($imglist);

if (count($imglist)) {

srand ((float)microtime()*1000000);

shuffle($imglist);

$size getimagesize($imagedir.'/'.$imglist[0][0]);

$size = ($size[0] > $maxwidth) ? 'width="120"' $size[3];



$content '

<center>

<img src="'
.$imagedir.'/'.$imglist[0][0].'" '.$size.' border="0" alt="'.$imglist[0][1].'"><br>

<a href="modules.php?name=Userinfo&amp;uname='
.$imglist[0][1].'"><b>'.$imglist[0][1].'</b></a>

</center>'
;

}



?>



MfG
jubilee

rinaldo2000at

Danke jubilee für den Block!  :)