Random Userphoto "verschluckt" Buchstabe

Begonnen von wiederalleine, 19 Juni 2004, 14:17:17

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

wiederalleine

Hallo Ihr alle....,
hat jemand ne Idee, warum bei dem Block Random Userphoto, bei der Anzeige des betreffenden User-Namens, der letzte Buchstabe stets nicht angezeigt wird ? Somit erscheint dann auch leider beim Aufrufen dieses Mitgliedes der Hinweis, das es keine Information über ??? gibt.
So sieht meine Block-Datei aus ?

//////////////////////////////////////////
// Blockcache erlauben?
$mxblockcache = TRUE;
// Pfad zu den Bildern
$imagedir = 'images/members';
// maximale Breite des Bildes
$maxwidth = 140;
//////////////////////////////////////////

$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()*100);
   shuffle($imglist);
   $size = getimagesize($imagedir.'/'.$imglist[0][0]);
   $size = ($size[0] > $maxwidth) ? 'width="140' : $size[3];

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

?>

Danke euch allen und ein schönes Wochenende ..
Peter

jubilee

Hallo !
Entweder 1 Subpattern bei der Regex falsch, oder
shuffle() macht irgendwas was es nicht soll.
Ich würde sowieso eher zu rand() raten, da dies besser funzt als shuffle()
MfG
jubilee

wiederalleine

Danke für Deine Antwort jubilee ...
...hmmm..muss allerdings leider zugeben..verstehe nur "Bahnhof" ..smile....!
Kein Modul irgendwo erhältlich, welches funktioniert ?
Danke

jubilee

Hallo !
Änder das mal so ab und probier dann nochmal :
 
Zitat//////////////////////////////////////////
// Blockcache erlauben?
$mxblockcache = TRUE;
// Pfad zu den Bildern
$imagedir = 'images/members';
// maximale Breite des Bildes
$maxwidth = 140;
//////////////////////////////////////////

$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);

$a=(count($imglist));
if (isset($a)) && ($a>0);
{
mt_srand((double)microtime()*1000000);
$id=(mt_rand(1,$a)-1);
$size = getimagesize($imagedir.'/'.$imglist[$id][0]);
$size = ($size[0] > $maxwidth) ? 'width="140' : $size[3];
$content = "
<center>
<img src=\"".$imagedir."/".$imglist[$id][0]."\" ".$size." border=\"0\" alt=\"".$imglist[$id][1]."\">
<a href=\"modules.php?name=Userinfo&uname=". $imglist[$id][1]." \"><b>".$imglist[$id][1]."</b></a>
</center>";
}
else
{
content="";
}

?>
Aber ohne gewähr, weil nicht getestet (Backup vom Originalblock machen !)
MfG
jubilee


[Editiert am 20/6/2004 von jubilee]

wiederalleine

Nochmal ein Danke. ! Zeigt jedoch "Parse error: parse error ", muss irgendwo hier liegen der Fehler;
$id=(mt_rand(1,$a)-1);
$size = getimagesize($imagedir.'/'.$imglist[$id][0]);
$size = ($size[0] > $maxwidth) ? 'width="140' : $size[3];
$content = "
<center>

jubilee

Hallo !
Stimmt, waren noch fehler drin.
Dies sollte besser funktionieren:
 
Zitat<?php
//////////////////////////////////////////
// Blockcache erlauben?
$mxblockcache = TRUE;
// Pfad zu den Bildern
$imagedir = 'images/members';
// maximale Breite des Bildes
$maxwidth = 140;
//////////////////////////////////////////

$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);

$a=(count($imglist));

if ((isset($a)) && ($a>0))
{
mt_srand((double)microtime()*1000000);
$id=(mt_rand(1,$a)-1);
$size = getimagesize($imagedir.'/'.$imglist[$id][0]);
$size = ($size[0] > $maxwidth) ? 'width="140' : $size[3];
$content = "
<center>
<img src=\"".$imagedir."/".$imglist[$id][0]."\" ".$size." border=\"0\" alt=\"".$imglist[$id][1]."\">
<a href=\"modules.php?name=Userinfo&uname=". $imglist[$id][1]." \"><b>".$imglist[$id][1]."</b></a>
</center>";
}
else
{
$content="";
}

?>
MfG
jubilee

wiederalleine

Hmmmm...., fehlt leider nach wie vor das letzte Zeichen des Usernamens. Zum Beispiel erscheint "Turbo12" anstelle "Turbo123" Einfach zum "narrigwerden".....
Dennoch Danke und viele Grüße
Peter

jubilee

Hallo !
So, habs jetzt mal bei mir getestet und es funktioniert
einwandfrei ?!
Bei mir wird das letzte Zeichen des Usernamens nicht verschluckt.
MfG
jubilee

wiederalleine

Hmmm...dann kann es ja nur an irgend einer anderen Einstellung liegen.
Gruß
Peter

jubilee

Hmm ...
Hast Du den Quelltext oben (im Zitatblock) denn  so 1 zu 1 übernommen ?
Der muss eigentlich gehen.
MfG
jubilee

wiederalleine

Eben..habe es detailiert so übernommen. Dachte, es würde eventuell nicht mit meinen Themeneinstellungen passen, aber auch als CenterBlock fehlen die beschriebenen Zeichen.
???
Gruß und Dank
Peter