PHP script ikke alfabetisk opload

Tags:    php

<< < 12 > >>
Hej

Jeg har et script, hvor man lægger bare små film (avi, mpg, wma, asf m.m.)ind i en mappe og php scriptet tager alle de filer (man har skrevet i scriptet) og sætter dem ind på siden som en oversigt. Se her :

<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {
echo "<tr><td style='border-bottom: solid #000000 0px;' align='left'> <b><center><a href='$file'><img src='$file' border='0'></a></center></b><br><hr></td></tr>";
}
}
closedir($handle);
}
?>

Smart til mapper med ting hvor man hele tiden får nye af, og som skal tilføjes ens side.

se evt. her
http://www.dosdesign.dk/09humor/02sjovefilmklips/01diverse/


Nå, men det værste problem p.t er at de står alfabetisk i min mappe, men når scriptet henter dem står de hulter til bulter, dvs. man kan ikke lige finde den man leder efter. Jeg har undersøgt om rækkefølgen afhænger af filtype, navn, størrelse eller lignende , men kan ikke finde ud af det...andet end jeg tror den tager dem efter hvornår de bliver lagt op. Og det er jo et problem hvis. da hvis jeg ligger 4 filer op som hedder a.gif, c.gif, d.gif, e.gif, ja så hvis jeg en dag tilføjer en fil der hedder b.gif, ja så lægger den sige nederst, istedet for mellem a.gif og c.gif - Hvordan kan man styre det, altså sørge for de ligger sig i alfabetisk orden på siden i tabellen?

+ hvis man nu med Cuteftp oploadede 4 billeder 1-2-3-4.jpg - markerede alle og klikkede opload, ja så ville de stå en tilfældig rækkefølge (selvom de hedder 1,2,3,4) da det ikek er sikker hvilken der "kommer først", dvs. den kan nem have overført nr. 3 først osv.

Ps Linksene til filmene virker nok ikke, da jeg lige har fundet ud af at mit webhotel ikke kan afspille via http, men media player (de vil sparer på trafikken ) jtræls efter 2 månedres php script arbejde !!

MEN jeg kan stadig ikke bruge dem til alle mine billeder, da de så vil stå i en oversigt og man skal farer frem/tilbage for at se dem (ingen next knap)



Danni

Mvh

Dosdesign



13 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Det du skal gøre er at lægge filerne ind i et array ført, og så skal du sortere arrayet.

sådan lægger du filerne ind i et array:
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {
$files[] = $file;
}
}
closedir($handle);
}
?>

og sådan her sorterer du arrayet:
<?php
sort($files);
reset($files);
while (list($key, $file) = each($files)) {
echo "<tr><td style='border-bottom: solid #000000 0px;' align='left'> <b><center><a href='$file'><img src='$file' border='0'></a></center></b><hr></td></tr>";
}
?>

du kan se på http://dk.php.net/manual/en/function.sort.php hvis det ikke virker...

- Jim Borch

[Redigeret d. 30/06-04 18:40:37 af Jimmie Borch]



Hej

Jeg har et script, hvor man lægger bare små film (avi, mpg, wma, asf m.m.)ind i en mappe og php scriptet tager alle de filer (man har skrevet i scriptet) og sætter dem ind på siden som en oversigt. Se her :

<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {
echo "<tr><td style='border-bottom: solid #000000 0px;' align='left'> <center><a href='$file'><img src='$file' border='0'></a></center><hr></td></tr>";
}
}
closedir($handle);
}
?>




Smart til mapper med ting hvor man hele tiden får nye af, og som skal tilføjes ens side.

se evt. her
http://www.dosdesign.dk/09humor/02sjovefilmklips/01diverse/


Nå, men det værste problem p.t er at de står alfabetisk i min mappe, men når scriptet henter dem står de hulter til bulter, dvs. man kan ikke lige finde den man leder efter. Jeg har undersøgt om rækkefølgen afhænger af filtype, navn, størrelse eller lignende , men kan ikke finde ud af det...andet end jeg tror den tager dem efter hvornår de bliver lagt op. Og det er jo et problem hvis. da hvis jeg ligger 4 filer op som hedder a.gif, c.gif, d.gif, e.gif, ja så hvis jeg en dag tilføjer en fil der hedder b.gif, ja så lægger den sige nederst, istedet for mellem a.gif og c.gif - Hvordan kan man styre det, altså sørge for de ligger sig i alfabetisk orden på siden i tabellen?

+ hvis man nu med Cuteftp oploadede 4 billeder 1-2-3-4.jpg - markerede alle og klikkede opload, ja så ville de stå en tilfældig rækkefølge (selvom de hedder 1,2,3,4) da det ikek er sikker hvilken der "kommer først", dvs. den kan nem have overført nr. 3 først osv.

Ps Linksene til filmene virker nok ikke, da jeg lige har fundet ud af at mit webhotel ikke kan afspille via http, men media player (de vil sparer på trafikken ) jtræls efter 2 månedres php script arbejde !!

MEN jeg kan stadig ikke bruge dem til alle mine billeder, da de så vil stå i en oversigt og man skal farer frem/tilbage for at se dem (ingen next knap)



Danni

Mvh

Dosdesign


Øhh 2 spørgsmål her på udvikleren med 200 up's i hver er det ikke lige i overkanten?

SkypeR That\\'s ME :D

----------------------------------------------
%49%66%20%79%6F%75%27%76%65%20%74%72%61%6E%73%6C%61%74%65%64%20%74%68%69%73%2C%20%79%6F%75%20%6D%75%73%74%20%62%65%20%62%6F%72%65%64%2E%2E%2E



Hmmm, hvordan ?? skal de 2 scripts bare ligge efter hinanden i php filen og hvordan får jeg flettet min kode ind i :

Det virker ellers fint

se evt. her

http://www.dosdesign.dk/04gif/01sjove/sjove.php

undtagen de ligger helt tilfældig hvis jeg tilføjer nye eller sletter gamle ! Det er vist den rækkefølge de bliver uploadet i de kommer frem, og det kan man kun styre ved at uploade en fil ad gange (det tager 1000 år) og hvis man så tilføver en ny ... ja kort sagt det kan man ikke, så hvordan bruger jeg lige det array sort halløj....Kan du ikke flette så lidt så mulig (dvs. kun det nødvendige, ikke html såsom border, font m.m.) i min kode så det virker ?



det skal bare være i den samme fil...
nu har jeg jo ikke hele din kode men den her virker:
Fold kodeboks ind/udKode 

ellers giv mig hele din kode, så kan jeg godt flette den ind
- Jim Borch



Her er hele min kode efter body (hvor et par små-html koder er),

<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {
echo "<tr><td style='border-bottom: solid #000000 0px;' align='left'> <b><center><a href='$file'><img src='$file' border='0'></a></center></b><br><hr></td></tr>";
}
}
closedir($handle);
}
?>


og så her kommer der lidt html igen (såsom </body></html> m.m.)

Lidt ekstra spg. :
Ved du hvor dan man kan lægge et php script (dvs mellem <?og php> ind i en fil for sig (som man vel kalder ex. script1.php) og derefter kalde den ind i flere andre filer, ligesom css .... så man kun skal rette i den ene fil (script filen) hvis noget skal lave om?

er echo, det samme som response i asp og $ står altid foan en variabel?





P.s undskyld, jeg selv tog 150 points, men der jeg skrev 200 fra starten kendte jeg ikke systemet, jeg oprettede bare flere spg. og gav 200 point, det vil jo ruinere mig inden ugen er omme, så du får 50 håber det er ok?



Og husk du behøver kun skrive det ind i mit scipt der er nødvendig for at den sorterer alfabetisk ikke alt sådan noget :

"<tr><td style='border-bottom: solid #000000 0px;' align='left'> <b><center><a href='$file'><img src='$file' border='0'></a></center></b><hr></td></tr>";

det forvirrer bare mere, altså kun det mest nødvendige !

For som jeg kan se er det virkelig (juhuuu) kun et par få linier jeg skal tilføje for at de sorterer sig selv i alfabetisk rækkefølge, hvis jeg f.eks tilføjer en ny fil der skal ligge midt i rækken?



Jeg ved ikke helt om jeg er færdig her men.
Ja det er bare et par få linier du skal tilføje, og så sorterer php det i alfabetisk rækkefølge, der kan dog godt være problemer med æ, ø, og å

<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {
$files[] = $file;
}
}
closedir($handle);
}

sort($files);
reset($files);
while (list($key, $file) = each($files)) {
// NU ER det sorteret, filen hedder nu $file
// det er alt :)
}
?>


- Jim Borch




Lidt ekstra spg. :
Ved du hvor dan man kan lægge et php script (dvs mellem <?og php> ind i en fil for sig (som man vel kalder ex. script1.php) og derefter kalde den ind i flere andre filer, ligesom css .... så man kun skal rette i den ene fil (script filen) hvis noget skal lave om?

er echo, det samme som response i asp og $ står altid foan en variabel?


Ja du kan sagtens lægge/kalde en fil / php script ind i andre filer!
Det gør du med:
require("fil.php"); eller
include("fil.php");

du kan læse om det her: http://www.phpcoder.dk/artikel.php?mode=vis&id=7

og ja jeg tror echo er det samme som response.write(jeg kender ikke meget til asp), og der er altid $ foran en variabel...

- Jim Borch



Hej igen, tak for din tid, jeg vil dog lige til sidst spørge om det eneste jeg skal tilføje min egen script (med det hele også html) er de fire linier:

$files[] = $file;
sort($files);
reset($files);
while (list($key, $file) = each($files)) {

(hvis ja, er der så ikke en { for meget, altså hvor lukkes den } (skal der ikke være lige mange { og } ?)

Ellers er kommet til denne total færdige script (inkl. alt), er den rigtig ????

<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if(eregi(".jpg$", $file) || eregi(".gif$", $file) || eregi(".png$", $file)) {

echo "<tr><td style='border-bottom: solid #000000 0px;' align='left'> <b><center><a href='$file'><img src='$file' border='0'></a></center></b><br><hr></td></tr>";

$files[] = $file;
}
}
closedir($handle);
}

sort($files);
reset($files);
while (list($key, $file) = each($files)) {

}
?>





<< < 12 > >>
t