sql >> Database teknologi >  >> RDS >> Mysql

Hvordan søger man billeder efter navn i en mappe?

Dette ligner et job for glob , som returnerer en række filnavne, der matcher et specificeret mønster. Jeg er klar over det andet svar, der lige er sendt, men lad os give et alternativ til regulært udtryk.

Ifølge den øverste kommentar på dokumentsiden, hvad du kunne gøre, er noget som dette:

<?php
    $dirname = "photos";
    $filenames = glob("$dirname/*{380,381,382,383,384,385}*", GLOB_BRACE);

    foreach ($filenames as $filename)
    {
        echo $filename . "<br />";
    }
?>

GLOB_BRACE indstillinger giver dig mulighed for at angive en liste over værdier i klammer, og stjernerne omkring dem tillader disse tal at blive vist hvor som helst i filnavnet. Du kan derefter iterere over det returnerede array og gøre hvad du vil med $filename .

Du kan bruge dit eksempel for loop for automatisk at bygge en streng, der skal sendes til glob .

Her er outputtet, da jeg kørte dette på en testmappe, jeg lavede:

photos/380.zip
photos/asdf382ghj.txt
photos/385.bmp

Bemærk, at jeg har lagt en anden fil ind der, a386b.xlsx , matchede ikke mønsteret og vises ikke på listen.



  1. Hvordan kører jeg to opdateringsforespørgsler i mysql eventplanlægger?

  2. Indsæt xmltype i xmltype på angivet sted [PL/SQL]

  3. Hvornår skal jeg bruge en tabelvariabel vs midlertidig tabel i sql-serveren?

  4. MYSQL venstre Deltag COUNTS fra flere tabeller