nitschi
miau!
|
Aloha! zu allererst: bin ein totaler PHP-Neuling, und habe momentan leider keine Zeit mich da einzuarbeiten. Deshalb möchte ich hier um Hilfe bitten. Habe hier ein PHP-Script (Fremd-Script) in Verwendung, über das Besucher einer Homepage Bilder (in ein vorher bestimmtes Verzeichnis) uploaden können. Das hochgeladene Bild wird dann gleich auf der Seite angezeigt. Funktioniert alles ohne Probleme. Allerdings stört es mich ein wenig, dass ein neues Bild auf der letzten Seite angezeigt werden. Mir wäre es lieber, wenn das neue Bild gleich auf der ersten Seite zu sehen ist. Hier ist der (soweit ich das erkennen konnte) relevante Teil des PHP-Codes: <?
include ("config.inc.php");
$tag=opendir("./" . $show);
while (false != ($datei = readdir($tag))) {
if($datei != "." && $datei != "..") {
foreach ($dateiendungen as $endung) {
$endung_datei = last(strlen($endung),$datei);
if (strtolower($endung) == strtolower($endung_datei)) {
$temp = $temp . "|" . $datei;
}
}
}
}
$te = explode("|",$temp);
$temp = array();
foreach ($te as $tem) {
if ($tem) {
array_push($temp,$tem);
}
}
if (!$seite) $seite = 1;
$view = $show . " Seite " . $seite;
include ("header.inc.php");
$anfang = 0;
$seiten_links = "Seite ";
$seitex = $seite - 1;
if ($seitex > $anfang) {
$seiten_links = $seiten_links . " <a href='$haupt_url?show=$show&seite=$seitex'>«</a> ";
}
$ende = count($temp) / $pics_seite;
while ($anfang < $ende) {
$wert = $anfang+1;
if ($wert == $seite) {
$seiten_links = $seiten_links . "$wert ";
}
else
{
$seiten_links = $seiten_links . "<a href='$haupt_url?show=$show&seite=$wert'>" . $wert . "</a> ";
}
$anfang++;
}
$seitey = $seite+1;
if ($seite < $ende) {
$seiten_links = $seiten_links . " <a href='$haupt_url?show=$show&seite=$seitey'>»</a>";
}
if ($picture_upload == "true") echo picture_upload_form($show) . "<br>";
echo "$seiten_links<br>";
$anfang = $pics_seite * $seite - $pics_seite;
$ende = $pics_seite * $seite;
echo "<table align='center' border='$border'>";
$counter=0;
while ($anfang < $ende) {
$line = $temp[$anfang];
if ($line) {
$bild = $show . "/" . $line;
$info = getimagesize($bild);
$groesse = round (filesize($bild) / 1000,2);
if ($counter == 0) echo "<tr>";
echo "<td align='center'><img src='$show/" . $line . "'><br>";
if ($mit_infos == "true") {
echo "<font size='1'>#" . ($anfang+1) . ", ". $line . "<br>" . $info[0] . "x" . $info[1] . "<br>" . $groesse . " kb</font>";
}
echo "</td>";
$counter++;
if ($counter == $pics_reihe) {
$counter = 0;
echo "</tr>";
}
}
$anfang++;
}
if ($counter != 0) {
while ($counter < $pics_reihe) {
echo "<td align='center'>-</td>";
$counter++;
}
}
echo "</tr></table>";
echo "$seiten_links<br>";
footer ("footer.inc.php");
exit;
?>
Weiß zufällig jemand, wie man dieses "Problem" lösen könnte? Würd mich freuen
|
h4de5
-
|
mach bei: ...
echo "<table align='center' border='$border'>";
$counter=0;
*) also hier!
while ($anfang < $ende) {
...
*) ein $temp = rsort($temp); habs mir nur ganz schnell durchgschaut und leider uach ned probiert. mit viel glück gehts aber trotzdem /edit zur besseren verständlichung
Bearbeitet von h4de5 am 23.01.2003, 19:15
|
nitschi
miau!
|
Danke erstmal für die Antwort! Hat (bis jetzt) aber nicht wirklich funktioniert. Zwar wird jetzt die letzte Seite geladen, allerdings zeigt er die Bilder nicht an. Aber der Ansatz ist sicher richtig, vielleicht komm ich ja irgendwann selber drauf Eventuell $anfang und $ende austauschen? Argl. ich sollte bald PHP lernen...
|
Phobos
✝
|
is das script total selbst geschireben oder tw kopiert?
bzw proggst du noch andere sprachen?
|
nitschi
miau!
|
Hehe. wie gesagt: bin totaler PHP-Neuling. Auf gut deutsch: ich kann einen Dreck! Das Script ist natürlich nicht selber geschrieben, sonst hätt ich diese Ausgabe-Funktion schon im Vorhinein "umgekehrt" geschrieben. Die einzige Sprache die ich sonst noch programmiere ist HTML Werd mich aber, sobald ich mal mehr Zeit habe, mich in PHP einarbeiten.
|
Phobos
✝
|
ok ich war nur irgendwie verwirrt weil du gsagt hast "ich bin php neuling" und der source von dem script hat mich echt beeindruckt, und ich proggs schon _RECHT_ gut aber sry, keine lösung
|
watchout
Legendundead
|
@phobos: es steht net zufällig im ersten post "fremd-script" @thema: ich hab das script jetzt mal überflogen, so wie ich es einschätze wird... wah ich habs mir jetzt doch genauer angschaut - die ersten ~25 zeilen sind der reinste schmarrn und blödsinn pur ersetz das (das is am anfang): $tag=opendir("./" . $show);
while (false != ($datei = readdir($tag))) {
if($datei != "." && $datei != "..") {
foreach ($dateiendungen as $endung) {
$endung_datei = last(strlen($endung),$datei);
if (strtolower($endung) == strtolower($endung_datei)) {
$temp = $temp . "|" . $datei;
}
}
}
}
$te = explode("|",$temp);
$temp = array();
foreach ($te as $tem) {
if ($tem) {
array_push($temp,$tem);
}
}
durch das: $tag=opendir('./' . $show);
$temp = array();
while ($datei = readdir($tag))
{
if($datei != '.' && $datei != '..')
{
foreach ($dateiendungen as $endung)
{
$endung_datei = last(strlen($endung),$datei);
if (strtolower($endung) == strtolower($endung_datei))
{
$temp[filemtime($datei)]=$datei;
}
}
}
}
ksort($temp);
//krsort($temp);
$temparray = array();
foreach ($temp as $tempvalue)
{
array_push($temparray,$tempvalue);
}
$temp = $temparray;
dazu muss ich sagen, dass das bei weitem keine optimale lösung ist! vor allem performancemässig is die eher suboptimal! leider musste ich aus rücksicht auf einen möglichen folgenden code, diese variante nehmen... but i hth ps: ich weiss nicht ob die sortierrichtung passt, wenn nicht -> die betreffende zeile ist die wo ksort($temp); steht - wenn du die darunter liegende nimmst, die sortiert genau andersrum
|
nitschi
miau!
|
Danke erstmal für die Mühe. Hat aber irgendwie nicht wirklich hingehaut. Er zeigt jetzt gar keine Bilder und keinen Seiten-Index an. Falls sich noch jemand damit spielen will, hier ist der gesamte Code als Text: pictureview_php.txt
|
nitschi
miau!
|
|
watchout
Legendundead
|
ja, geht - nur das script muss umgeproggt werden... sag mal welche version von php hat dein server?
|
nitschi
miau!
|
Ist das Umschreiben des Scripts sehr aufwendig?
Und zu deiner Frage: PHP 4
|
watchout
Legendundead
|
ja, wäre imho besser es gleich neu zu schreiben
|
nitschi
miau!
|
OK, ich geb dir 3 Tage Zeit! .... Nein, Spaß beiseite. Dann lass ichs vorrübergehend wohl so, denn so ein Script zu schreiben übersteigt meine zeitlichen und geistigen Ressourcen momentan.
|
Guest
Deleted User
|
Aloha! zu allererst: bin ein totaler PHP-Neuling, und habe momentan leider keine Zeit mich da einzuarbeiten. Deshalb möchte ich hier um Hilfe bitten. Wenn du keine Zeit hast, heuer einen Programmierer an. Für "ich poste Source! Schauts ihn an" ist dieses Forum nicht gedacht. Flames -> PM vorher http://o.v.e.r.clockers.at/showthre...;threadid=52088 lesen.
|