Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Directory uitlezen en sorteren op naam

None
24 antwoorden
  • Goedenmorgen.

    Ik heb een script die keurig netjes de map op de server uitleest, en vervolgens de plaatjes weergeeft, waarna er dmv. een klik op dat plaatje een game vanaf mijn FTP server wordt gedownload.

    Nu zijn er regelmatig updates, en komen de nieuwe games steeds achterin de lijst terecht, daar het op datum van plaatsing op de server wordt gesorteerd.

    Ik wil dat ander, ik wil dat er op naam wordt gesorteerd.

    Nu wil ik alleen vragen wat ik aan dit script moet doen om het zo werkend te krijgen dat de bestanden op NAAM wordn gesorteerd.

    Alvast bedankt !

    [code:1:202f2a1d9c]<?
    // Configuratie

    $woord="games"; // naam vd php file
    $path = "images"; // dir waar foto's in staan
    $title = "Games, pagina ". ($page + 1);
    // header, dit staat boven de plaatjes.
    $header = "<br><br>Gamespagina";

    // Configuratie

    $clm = "6"; // Aantal kolommen
    $rows = "4"; // aantal rijen

    ?>
    <html>
    <head><title>Gemaspagina</title>
    <link rel='stylesheet' type='text/css' href='../../Stijl2.css'>
    </head>
    <BODY background=../../images/pics/back.jpg bgproperties='fixed' leftmargin='0' topmargin='0'>
    <div align="center"><font face='Arial, Helvetica, sans-serif' size='2' align='center'>

    <?
    echo "<center><b>$title</b><br><br>";
    $min = (1+($page * 24));
    $max = (($page +1) * 24);
    $number = $clm * $rows;
    $break = (($page * 24) + $clm);
    echo "<table border=0 cellpadding=0 cellspacing=0><tr>";
    $d = dir("$path");
    $count = -1;


    while($entry=$d->read()) {
    if (($count >= $min) AND ($count <= $max)){
    if(eregi(".jpg|.jpeg|.gif|.bmp|.png|.swf|.fls", $entry)){

    ClearStatCache();
    $size = GetImageSize("$path/$entry");
    $size[0] = $size[0] + 20;
    $size[1] = $size[1] + 20;
    $file_size = fileSize("$path/$entry");
    $file_size = round($file_size / 1000) . "k";

    $dl = substr_replace ($entry, '.zip', -4, 4);
    $naam = substr_replace ($entry, '', -4, 4);

    echo ("<td><a href=\"ftp://bladiebla.serveftp.com:1308/games/$entry.zip\" onmouseover=\"window.status='Oorspronkelijk formaat weergeven';return true;\"
    onmouseout=\"window.status=''; return true\"></a><center><a href=\"ftp://bladiebla.serveftp.com:1308/games/3510-6310i/$dl\"><img src=$path/");
    echo $entry." border=0 width=100 height=77 alt=$count></a><br>($filename) $count : $naam</td>
    "; //
    }

    if ($count == $break){
    echo "</tr>
    <tr>
    ";
    $break = $count + $clm ;
    }
    }

    $count++;
    }

    $d->close();
    echo "</tr></table>";
    $pages = ($count / 24);
    $pageplus = ($page + 1);
    $pagemin = ($page - 1);
    if (($page + 1) < $pages){
    $volgende = " | <a href=$woord.php?page=$pageplus>Volgende pagina</a> |";
    }
    if (($page+1) > "1"){
    $vorige = "| <a href=$woord.php?page=$pagemin>Vorige pagina</a> |";
    }

    // Footer, dit staat onder de plaatjes.
    echo "<br>Klik op de afbeelding om de game te downloaden.<br><br>";
    echo "$vorige $volgende";

    ?>
    </font>
    </div>
    </body>
    </html>[/code:1:202f2a1d9c]


  • [quote:bdd74f8ae5="mvveelen"]Ik wil dat ander, ik wil dat er op naam wordt gesorteerd.

    Nu wil ik alleen vragen wat ik aan dit script moet doen om het zo werkend te krijgen dat de bestanden op NAAM wordn gesorteerd.
    [/quote:bdd74f8ae5]
    Lees de directory in en stop alle bestandsnamen in een array (in plaats van deze meteen naar het scherm te schrijven).
    Sorteer de array met 1 van de standaard sorteerfuncties van php.
    Schrijf de inhoud van de array naar het scherm.

    Succes.
  • Ehm…..ja….en dat is nu precies wat ik de hele tijd aan het proberen ben. Het lukt me echter niet.

    arsort e.d. ben ik al druk mee bezig geweest icm. array's, maar ben er nog niet uit :oops:
  • hello,

    Op mijn download pagina heb ik zoiets. Alle ZIP files in de directory worden in een table gezet, met download link en een info plaatje (ook met link)

    je kunt het hier downloaden: http://www.wimb.net/index.php?s=files&page;=0

    de file is [b:a1a7c3b431]listfiles.zip[/b:a1a7c3b431]

    filespage0.txt gaat als include in mijn pagina en doet al het werk.
    infoname.txt is de array met informatie links.
    verder gaan alle downloads via een teller.

    Garantie tot de voordeur, maar hier werkt het goed.

    wimb
  • Ok, kan ik ook es mee stoeien, maar dat scriptje leest toch niet een dir uit, waarna deze alfabetisch wordt weergegeven ?

    Is mijn script aanvullen echt zo lastig ?

    Ik had gehoopt dat iemand wel een simpele oplossing zou weten ;)
  • [quote:157a3158c3="mvveelen"]Ik had gehoopt dat iemand wel een simpele oplossing zou weten ;)[/quote:157a3158c3]En ik zeg je dat Annie een prima oplossing geeft, dat je er niet uitkomt zal dan ook wel zo z'n reden hebben. En die willen wij weten, pas dan kunnen we je helpen. Eerder niet.

    We leveren hier immers geen kant en klare oplossingen over het algemeen.
  • [quote:8896289d10="mvveelen"]Ok, kan ik ook es mee stoeien, maar dat scriptje leest toch niet een dir uit, waarna deze alfabetisch wordt weergegeven ?

    Is mijn script aanvullen echt zo lastig ?
    Ik had gehoopt dat iemand wel een simpele oplossing zou weten ;)[/quote:8896289d10]

    Het script leest alle files in de directory, kijkt of het een zip extensie heeft, dan gaat de filenaam naar een string, daarna wordt de filesize erachter gezet plus het info plaatje tezamen met alle links en de tags voor de table. Dan gaat de string naar een array.

    Omdat de filenaam vooraan in de string staat kan de array eenvoudig op die filename worden gesorteerd: sort($allfiles);

    Vervolgens gaat het in drie kollommen naar het scherm, dat is wat je ziet op mijn download pagina.

    - het is best wel lastig om een script van iemand anders te begrijpen en aan te vullen. Maar mischien is er wel een echte PHP dokter in de zaal die de simpele oplossing kan geven.


    wimb
  • [quote:79f63d835b="Bill Gates"][quote:79f63d835b="mvveelen"]Ik had gehoopt dat iemand wel een simpele oplossing zou weten ;)[/quote:79f63d835b]En ik zeg je dat Annie een prima oplossing geeft, dat je er niet uitkomt zal dan ook wel zo z'n reden hebben. En die willen wij weten, pas dan kunnen we je helpen. Eerder niet.

    We leveren hier immers geen kant en klare oplossingen over het algemeen.[/quote:79f63d835b]

    Pardon ?

    Ik heb hier nota bene een werkend, en kompleet script neergezet, waar ik slechts een aanvulling (het sorteren van de namen) op wens.

    Het is wel kort door de bocht om te suggereren dat ik alles in hapklare brokjes wil hebben. Ik heb nl. al wat gestoeid met arsort e.d. maar het muntje wil nog even niet vallen. Is het dan verkeerd om hulp in te schakelen om dat extra zetje in de rug te geven ?

    Sorry, maar als ik nu alleen een kant en klaar script had gevraagd dan had ik je gelijk kunnen geven (ben ik nl. zelf ook niet van gediend als mensen zelf geen moeite ervoor doen), maar in dit geval ben ik het 100% met je oneens.

    Het script dat vervolgens wordt aangeboden is een geheel ander script. Ik ga daar zeker naar kijken (bedankt nog daarvoor en bedankt voor de extra uitleg), maar mijn prioriteit ligt op dit moment nog even bij mijn script, alwaar ik al een klein beetje verder mee ben.

    Tot slot : ik weet zeker dat er php-experts zijn die hier een heel simpele oplossing voor kunnen bedenken. Tot het moment waarop die oplossing zich aanbiedt ga ik zelf verder proberen (ik zit niet met mijn armen over elkaar te wachten totdat iemand het voor mij regelt), en houd ik deze topic in de gaten.
  • Ik vraag je min of meer om aan te geven waar het probleem dan wel zit met die arrays. Zeggen "het lukt niet" is nu eenmaal niet genoeg, wij willen graag weten wat er niet lukt. Pas dan willen en kunnen we je helpen. Geef dus eens een stuk code waar je tegen je probleem aanloopt…

    Ik zie ook wel dat je al een script hebt gepost waar je al flink mee bezig bent geweest hoor, anders had dit topic namelijk al lang op slot gezeten…
  • Als je dit script plaatst, dan zie je dat er niets gesorteerd wordt. Ik heb geprobeerd met $files=array(); en dat dan weer met arsort te sorteren en uit te lezen, maar krijg niets werkend. Ik kan je niet laten zien wat er fout gaat, dat zou je dan zelf moeten uitvogelen of proberen.
  • [quote:92130a6613="WimB"][quote:92130a6613="mvveelen"]Ok, kan ik ook es mee stoeien, maar dat scriptje leest toch niet een dir uit, waarna deze alfabetisch wordt weergegeven ?

    Is mijn script aanvullen echt zo lastig ?
    Ik had gehoopt dat iemand wel een simpele oplossing zou weten ;)[/quote:92130a6613]

    Het script leest alle files in de directory, kijkt of het een zip extensie heeft, dan gaat de filenaam naar een string, daarna wordt de filesize erachter gezet plus het info plaatje tezamen met alle links en de tags voor de table. Dan gaat de string naar een array.

    Omdat de filenaam vooraan in de string staat kan de array eenvoudig op die filename worden gesorteerd: sort($allfiles);

    Vervolgens gaat het in drie kollommen naar het scherm, dat is wat je ziet op mijn download pagina.

    - het is best wel lastig om een script van iemand anders te begrijpen en aan te vullen. Maar mischien is er wel een echte PHP dokter in de zaal die de simpele oplossing kan geven.


    wimb[/quote:92130a6613]

    Ik kreeg het script van je aan de praat (vrij eenvoudig overigens), maar toch waren de laatste namen niet gesorteerd. Vreemd eigenlijk…..

    [edit]

    dit lag aan hoofd- en kleine letters !

    [/edit]
  • [quote:553f7be4a2="WebbySP"]
    [edit]

    dit lag aan hoofd- en kleine letters !

    [/edit][/quote:553f7be4a2]

    Zeker een linux bak?
    Linux is case sensitive in tegenstelling tot windows sytemen.
    Iets wat veel mensen niet weten of vergeten.
  • Ja, dat klopt.

    Ik kwam daar al vrij snel achter, daar er maar een paar met kleine letters geschreven waren.

    Helaas is het me op dit moment nog steeds niet gelukt om de boel gesorteerd weer te geven met het script dat ik hierboven heb gepost.

    Daar er nog niemand is geweest die mij de oplossing heeft aangedragen, heb ik het idee dat het toch niet echt aan mij ligt, en dat het gewoon een stukje te ingewikkeld is ook voor anderen om hier uit te komen.

    Toch blijf ik hopen op een oplossing, dus mocht iemand nog een idee hebben, ik probeer het graag uit !
  • [quote:2f8344ef76="mvveelen"]Daar er nog niemand is geweest die mij de oplossing heeft aangedragen, heb ik het idee dat het toch niet echt aan mij ligt, en dat het gewoon een stukje te ingewikkeld is ook voor anderen om hier uit te komen.
    [/quote:2f8344ef76]
    Dank je wel voor het vertrouwen dat je hiermee uitspreekt. Ik zou vooral mensen die je willen helpen blijven schofferen (zo zie ik het namelijk), dat zal bevordelijk zijn voor het aantal reacties dat je krijgt. :)

    [quote:2f8344ef76="mvveelen"]Toch blijf ik hopen op een oplossing, dus mocht iemand nog een idee hebben, ik probeer het graag uit ![/quote:2f8344ef76]
    Nogmaals: een idee heb je al gekregen, dat jij het niet verder uit kan of wil werken is jouw probleem. Ik ben over het algemeen absoluut niet te beroerd om wat voorbeeldjes te geven, maar met deze "ik-houd-m'n-handjes-op-en-ga-ook-nog-zeuren-als-ik-niet-snel-genoeg-geholpen-wordt" instelling houdt het voor mij heel snel op.
  • [quote:5c13a10c8b="Annie"][quote:5c13a10c8b="mvveelen"]Daar er nog niemand is geweest die mij de oplossing heeft aangedragen, heb ik het idee dat het toch niet echt aan mij ligt, en dat het gewoon een stukje te ingewikkeld is ook voor anderen om hier uit te komen.
    [/quote:5c13a10c8b]
    Dank je wel voor het vertrouwen dat je hiermee uitspreekt. Ik zou vooral mensen die je willen helpen blijven schofferen (zo zie ik het namelijk), dat zal bevordelijk zijn voor het aantal reacties dat je krijgt. :)

    [quote:5c13a10c8b="mvveelen"]Toch blijf ik hopen op een oplossing, dus mocht iemand nog een idee hebben, ik probeer het graag uit ![/quote:5c13a10c8b]
    Nogmaals: een idee heb je al gekregen, dat jij het niet verder uit kan of wil werken is jouw probleem. Ik ben over het algemeen absoluut niet te beroerd om wat voorbeeldjes te geven, maar met deze "ik-houd-m'n-handjes-op-en-ga-ook-nog-zeuren-als-ik-niet-snel-genoeg-geholpen-wordt" instelling houdt het voor mij heel snel op.[/quote:5c13a10c8b]

    True true..

    Ik heb trouwens thuis nog wel een php script liggen die een hele dir weergeeft en daarbij filtert op mp3's, tevens is het mogelijk om hier op naam en datum te sorteren.

    Dus echt te ingewikkeld is het niet hoor..
  • God, god, dat is nu al de 2e keer dat er over me heen gestruikeld wordt.

    Jullie moeten eens leren lezen !

    Ik schoffeer hier helemaal niemand. Ik leg zelfs uit wat ik bedoel met de opmerking dat het verder nog niemand gelukt is.

    Ik ben geen PHP expert, en ik geef aan dat als het de experts hier (ik ga er dus vanuit dat hier experts rondlopen, waar of niet ?) niet gelukt is, dat het dan helemaal niet zo gek is dat ik er zelf nog niet uit ben gekomen. Zo simpel is het. En als jij dat op je eigen manier wilt uitleggen : prima, maar ga me niet beschuldigen van dingen die ik niet doe.

    Je kunt dingen vaak op 2 manieren uitleggen, en als jij zo'n type bent die eerder naar het negatieve neigt, val een ander daar aub. dan niet mee lastig.

    En over het handje ophouden : hou nou toch op zeg ! Ik schotel hier een 100% kompleet script voor, en vraag VRIENDELIJK om een aanvulling daarop. Mijn fout is misschien dat ik na het wekend direkt heb aangegeven dat het me nog niet gelukt is, en ook de experts hier niet. BIG DEAL zeg !

    Inzan, probeer de wereld eens door een andere bril te bekijken, want zo'n pessimistische kijk op andere mensen (op mij in dit geval) kan ik missen als kiespijn.

    Oh ja……. "Ik heb trouwens thuis nog wel een php script liggen die een hele dir weergeeft en daarbij filtert op mp3's, tevens is het mogelijk om hier op naam en datum te sorteren. "

    Lekker handig om daar dan vervolgens over te beginnen. Het wordt me dan wel duidelijk dat jij gewoon niet wilt helpen. Maakt verder niet uit, maar reageer dan niet in deze topic, en ga iemand anders vals beschuldigen.

    Als dit het niveau is dat ik hier kan verwachten, dan hoef ik wat mij betreft hier niet meer te komen.

    Sjongejonge zeg, eens roep ik es een keer de hulp van een ander in, krijg je dit gezeur !
  • Jouw conclusie is dat het de experts niet gelukt is. Mijn conclusie is dat de experts nog niets concreets geprobeerd hebben.

    En verzoeken om een 100% werkend script aan te vullen worden over het algemeen niet gehonoreerd. Dat heeft niets te maken met het niveau van dit forum of de welwillendheid van de bezoekers, maar alles met de insteek dat we mensen echt willen helpen.

    [quote:89bd7c8862]"Give a man a fish and you feed him for a day. Teach him how to fish and you feed him for a lifetime."[/quote:89bd7c8862]

    Je hebt overigens gelijk dat sommige zaken misschien verkeerd begrepen kunnen worden. Zorg er dus voor dat je je argumenten/opmerkingen zo duidelijk mogelijk uitlegt zodat de kans op misverstanden zo klein mogelijk blijft. En een smilie hier en daar wil ook nog wel eens helpen om een vriendelijkere noot toe te voegen.

    Ik zal wel beginnen: :D
  • Ik heb me tot nu toe afzijdig gehouden van deze discussie, maar nu moet ik toch wat kwijt. Ten eerste kan ik me van beiden de reacties voorstellen maar aangezien ik hier regelmatig mensen help neig ik toch naar Annie's standpunt. Het kan me namelijk niet schelen of je script 100% werkt en je alleen maar een aanvulling wilt, wat ik wil weten is wat je hebt geprobeerd dat [b:d4f3d36ad6]niet[/b:d4f3d36ad6] werkt. Probeer in het vervolg dus je vraagstelling iets te veranderen, dus van "Weet iemand een aanvulling?" naar "Ik heb dit gedaan maar het werkt niet, wat doe ik fout?". Dit is niet omdat we je niet aardig vinden of omdat je iets kan wat wij niet kunnen, maar omdat (te) veel mensen denken dat wij gratis scripts verstrekken en niets beters te doen hebben.

    Dit forum drijft op de basis die Annie zo mooi in het spreekwoord verwoordt, en als je even post weet ik zeker dat hij (of anders ik) je verder zullen helpen met het oplossen van het probleem.

    So, no hard feelings? :D

    - Bas
  • Ik ben van het standpunt uitgegaan dat het wel duidelijk is dat ik enkele andere oplossingen al heb geprobeerd. Goed, even wat meer info dan :

    ik heb mbv. het volgende :

    [code:1:7c5e7aeec9]$filelist[] = $entry;[/code:1:7c5e7aeec9]

    en dan verderop

    [code:1:7c5e7aeec9]while (list ($key, $val) = each ($filelist))
    {
    echo "$val / ";
    }
    [/code:1:7c5e7aeec9]

    nu als resultaat dat ik de plaatjes krijg (ongesorteerd), en dan vervolgens een regel eronder met daarin de namen van de plaatjes in alfabetisch volgorde. Het probleem is dat ie dus eerst een loop maakt (het uitlezen zelf, waarbij hij de array vult), en daarna nog eens een loop maakt waarbij de array wordt gesorteerd en dan de lijst wordt uitgeprint.

    Ik krijg deze 2 loops (ik noem ze maar even zo) niet gecombineerd. Op geen enkele wijze is het me gelukt.

    Ik kan niet alle voorbeelden hier weergeven, dat zul je begrijpen, maar ik had gehoopt dat iemand mij het juiste zetje zou geven.

    Ik weet heus wel hoe het loopt met een array en arsort enz. maar het gaat hem nu juist om de implementatie in dit specifieke script. That's all.

    En ja, ik voelde mij nogal aangevallen, zeker omdat er vanuit gegaan werd dat ik zelf geen enkele moeite had gedaan en "mijn hand ophield". Het tegendeel is waar. Ik hoop dat dat nu duidelijk is.
  • [quote:02ac71d794]Ik krijg deze 2 loops (ik noem ze maar even zo) niet gecombineerd. Op geen enkele wijze is het me gelukt.[/quote:02ac71d794]Dat moet je ook niet doen…

    1) Array vullen (in een loop)
    2) Array sorteren (functie like sort() etc)
    3) Array uitlezen en weergeven (in een loop)

    Zo simpel is het…

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.