Avatar billede kodak Mester
24. januar 2012 - 19:57 Der er 11 kommentarer og
1 løsning

hvis fil

Jeg har følgendene script:

function removeThumbDB($imgs){
    $i = 0;
    foreach($imgs AS $img){
        if(strtolower(basename($img))=="thumbs.db"){
            unset($imgs[$i]);
        }
        $i++;
    }
    natsort($imgs);
    return $imgs;
}

$folders = glob('flash/*');
$cols = 6;
$i = 0;
echo "<table><tr>";

foreach($folders AS $folder){
    if(is_dir($folder)){
        if($cols==$i){
            echo "</tr><tr>";
            $i=0;
        }
        $imgs = removeThumbDB(glob($folder.'/screenshots/*'));
        $img = $imgs[array_rand($imgs, 1)];
        echo "<td><center><a href='".$img."' rel='lightbox[roadtrip]' title='&lt;a href=&quot;".$folder."/site_flash/".basename($folder).".html&quot;&gt;&lt;img src=&quot;images/eye.png&quot; width=&quot;22&quot; /&gt; Se siden ".basename($folder)." her&lt;/a&gt;'><img src='".$img."' alt='".basename($img)."' height='100' alt='".basename($folder)."' border='0' /><br>";
        mysql_data_seek($result, 0);
        while($row = mysql_fetch_array($result)) {
        if($row['nr']==basename($folder)) {
        echo $row['title']."<b>";
        }
        }
        echo "</b></a></center></td>\n";
        $i++;
    }
}

echo "</tr></table>";


-----------------------------------------

Her til vil jeg gerne have en del der tjekker om mappen "site_flash/" har en eller flere xml filer.
og sætte et "V" under billedet.

Nogen som kan hjælpe mig med det?
Avatar billede olebole Juniormester
25. januar 2012 - 01:02 #1
<ole>

function check4xml($dirPath) {
    $dir = opendir($dirPath);
    $found = false;
    while (($path=readdir($dir))!==false) {
        if (strtolower(pathinfo($path, PATHINFO_EXTENSION))==='xml') {
            $found = true;
            break;
        }
    }
    closedir($dir);
    return $found;
}

if (check4xml('site_flash/')) echo 'check4xml';


/mvh
</bole>
Avatar billede olebole Juniormester
25. januar 2012 - 01:04 #2
*LoL* ... ikke Ctrl+V, men Shift+V  :D

if (check4xml('site_flash/')) echo 'V';
Avatar billede kodak Mester
25. januar 2012 - 08:42 #3
det virker ikke.
Avatar billede olebole Juniormester
25. januar 2012 - 14:44 #4
- og har du en kommentar, nogen kan bruge til noget? "det virker ikke" kan jeg ikke bruge - og de, der måtte læse med, og for hvem det virker, har sikkert heller ikke megen glæde af det.

Hvad sker der? Hvad sker der ikke? Får du fejlmeldinger - og er du sikker på, du har fejlmeddelelser og advarsler slået til?
Avatar billede kodak Mester
23. februar 2012 - 16:43 #5
Hvor bør jeg såtte den ind?
Avatar billede olebole Juniormester
23. februar 2012 - 17:52 #6
Efter linjen:

if(is_dir($folder)){

- og så kalder du funktionen med mappens sti som argument
Avatar billede kodak Mester
23. februar 2012 - 18:50 #7
Mener du ikke:


foreach($folders AS $folder){
    if(is_dir($folder)){
    closedir($dir);
    return $found;
}

        if($cols==$i){
            echo "</tr><tr>";
            $i=0;
        }
       
        function check4xml($dirPath) {
    $dir = opendir($dirPath);
    $found = false;
    while (($path=readdir($dir))!==false) {
        if (strtolower(pathinfo($path, PATHINFO_EXTENSION))==='xml') {
            $found = true;
            break;
        }
    }
    closedir($dir);
    return $found;
}
       
        $imgs = removeThumbDB(glob($folder.'/screenshots/*'));
Avatar billede olebole Juniormester
23. februar 2012 - 19:02 #8
Nej, for det første kan du da ikke skrive en funktion i en løkke! Du skal skrive skrive funktionen i toppen af dokumentet - kaldet til funktionen i løkken.

For det andet forstår jeg ikke, hvorfra resten af koden i #7 kommer fra. Den ligner ikke noget fra dit spørgsmål
Avatar billede kodak Mester
23. februar 2012 - 19:16 #9
så du mener her:

$folders = glob($type_url.'/*');
$cols = 6;
$i = 0;
$count = 0;
echo "<table><tr>";

foreach($folders AS $folder){
    if(is_dir($folder)){
        function check4xml($dirPath) {
    $dir = opendir($dirPath);
    $found = false;
    while (($path=readdir($dir))!==false) {
        if (strtolower(pathinfo($path, PATHINFO_EXTENSION))==='xml') {
            $found = true;
            break;
        }
    }
    closedir($dir);
    return $found;
}
        if($cols==$i){
            echo "</tr><tr>";
            $i=0;
        }


så melder den fejlen:
Fatal error: Cannot redeclare check4xml() (previously declared in /volume2/web/index.php:96) in /volume2/web/index.php on line 96

som jeg får til at være:
function check4xml($dirPath) {
Avatar billede olebole Juniormester
23. februar 2012 - 19:32 #10
Det er jo for pokker det, jeg lige har skrevet! Du har haft en bruger på Eksperten i 10 år, men endnu ikke fundet ud af, hvad en funktion og en løkke er. Jeg orker dig ikke og er ud af tråden!
Avatar billede kodak Mester
23. februar 2012 - 20:12 #11
arrh du gør et skide godt stykke arbejde.

jeg forstår bare ikke den del med argument i.

- og så kalder du funktionen med mappens sti som argument
Avatar billede kodak Mester
01. marts 2012 - 21:39 #12
okay har lavet en.

$dir = $folder.'/site_flash/';
        $imgs = removeThumbDB(glob($folder.'/screenshots/*'));
        $img = $imgs[array_rand($imgs, 1)];
        echo "<td><center><a href='".$img."' rel='lightbox[roadtrip]' title='&lt;a href=&quot;".$folder."/site".$type_url_link."/".basename($folder).".html&quot;&gt;&lt;img src=&quot;images/eye.png&quot; width=&quot;22&quot; /&gt; Se siden ".basename($folder)." her&lt;/a&gt;'><img src='".$img."' alt='".basename($img)."' height='100' alt='".basename($folder)."' border='0' /><br>";
       
        $files2 = scandir($dir, 1);
        $xml_i=0;
        foreach($files2 AS $go){
            $ext = strtolower(substr($go, strrpos($go, '.')+1));
            if ($ext == 'xml') {
                if($xml_i >= 1){
                }else {
                    echo 'V';

                }
            $xml_i++;
            }
        }



Så jeg lukker her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester