20. maj 2004 - 10:24
Der er
23 kommentarer og 1 løsning
hjælp til commando
Hej eksperter jeg har følgende script: <? $dir = "eks/"; // Det antal billeder der skal vises ad gangen $antal = 4; // Henter startnummeret. $num = ($_GET['num']) ? (int) $_GET['num']-1 : 0; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part);$i++) { $file = $file . $part[$i]; } return $file; } if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } $td = 0; sort($files); echo "<center>"; // Tæller hvor mange filer der er $antal_filer = sizeof($files); // Sætter det næste og forrige nummer $nextnum = $num+$antal+1; $prevnum = $num-$antal; // Tester om der skal laves en forrige eller næste link if ($num >= $antal) echo "<a href='galleri.php?num=$prevnum' class=\"tekst_link\">Forrige $antal</a> "; if ($antal_filer > $nextnum) echo "<a href='galleri.php?num=$nextnum' class=\"tekst_link\">Næste $antal</a>"; echo "</center>\n<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tekst_link\" align=\"center\"> "; for($i=$num;$i<$num+$antal;$i++){ $td++; if($td == 1) {echo "<tr>\n"; } // Tester om der er flere billeder at lave if ($i<sizeof($files)){ ?> <table cellpadding="0" cellspacing="5" align="left"> <tr> <td align="center" style="border: 1px solid #ffffff;"><a href="java script:popImage('<? echo $dir.$files[$i]; ?>','<? echo $i; ?>')"> <img src="<? echo $dir.$files[$i]; ?>" border="0" width="99" height="86"> </a> </td> </tr> </table> <? } if($td == 4) {echo "</tr>\n"; $td = 0;} } ?> den henter billeder i mappen "eks/" og viser dem. men kan jeg få lavet på den måde hvis der ingen billeder er i "eks/" så skriver den "Der findes ingen billeder i dette galleri" eller sådan noget?? håber i kan hjælpe mig !
Annonceindlæg fra Admin By Request
Prøv: <? $dir = "eks/"; // Det antal billeder der skal vises ad gangen $antal = 4; // Henter startnummeret. $num = ($_GET['num']) ? (int) $_GET['num']-1 : 0; function GetFileName($file) { $part = explode(".", $file); $file = ""; for($i=0;$i<count($part);$i++) { $file = $file . $part[$i]; } return $file; } if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } if (is_array($files) { $td = 0; sort($files); echo "<center>"; // Tæller hvor mange filer der er $antal_filer = sizeof($files); // Sætter det næste og forrige nummer $nextnum = $num+$antal+1; $prevnum = $num-$antal; // Tester om der skal laves en forrige eller næste link if ($num >= $antal) echo "<a href='galleri.php?num=$prevnum' class=\"tekst_link\">Forrige $antal</a> "; if ($antal_filer > $nextnum) echo "<a href='galleri.php?num=$nextnum' class=\"tekst_link\">Næste $antal</a>"; echo "</center>\n<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tekst_link\" align=\"center\"> "; for($i=$num;$i<$num+$antal;$i++){ $td++; if($td == 1) {echo "<tr>\n"; } // Tester om der er flere billeder at lave if ($i<sizeof($files)){ ?> <table cellpadding="0" cellspacing="5" align="left"> <tr> <td align="center" style="border: 1px solid #ffffff;"><a href="java script:popImage('<? echo $dir.$files[$i]; ?>','<? echo $i; ?>')"> <img src="<? echo $dir.$files[$i]; ?>" border="0" width="99" height="86"> </a> </td> </tr> </table> <? } if($td == 4) {echo "</tr>\n"; $td = 0;} } } else { echo "Der findes ingen billeder i dette galleri"; } ?>
Undskyld: if (is_array($files) { skal være: if (is_array($files)) {
ej pinligt det var så nemt hehe .. tusind tak for det !! sidste: kan jeg ikke få <div align="center"><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"> på teksten så :)?
Jo, men <font> tagget er forældet, brug hellere css style: } else { echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Der findes ingen billeder i dette galleri</div>"; }
'small' skal måske være 'smaller' eller 'x-small' for at svare til font-size=2 er ikke helt sikker.
perfekt.. tusind tak.. vil du have points? :)
Velbekommen, ja ok så, her et svar.
på denne her kan der, komme det somme på den ? men hvor der bare står, der er ingen billeder at slette. ? <?php $dir = "../../../sten/28/eks/"; if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); //header("Location: slet.php"); } } ?><table cellpadding="0" cellspacing="0" width="100%"> <? if (@$handle = opendir($dir) or die("Kunne ikke åbne din billed mappe")) { $files = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } if (is_array($files)) { $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} ?> <table cellpadding="0" cellspacing="0" align="center" class="tekst_link"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"><br> </td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?>">Slet</a> </div></td> </center> </tr> </table> <? } }?>
site update: <?php $dir = "../../../sten/28/eks/"; if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); //header("Location: slet.php"); } } ?><table cellpadding="0" cellspacing="0" width="100%"> <? if (@$handle = opendir($dir) or die("Kunne ikke åbne din billed mappe")) { $files = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } if (is_array($files)) { $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} ?> <table cellpadding="0" cellspacing="0" align="center" class="tekst_link"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"><br> </td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?>">Slet</a> </div></td> </center> </tr> <? } }?> </table>
og kan der evt. stå når man har trykket på "slet" "billedet blev slette"
Ja, hvis du ikke bruger den header du har udkommenteret: if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); //header("Location: slet.php"); } } ændres til: if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Billedet blev slettet</div>"; } else { echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Der er ingen billeder at slette</div>"; } }
Ja, hvis du ikke bruger den header du har udkommenteret: - undskyld spørger dumt.. men hvad mener du med det ;)
Du kan ikke bruge denne linie: //header("Location: slet.php"); hvis du laver output til skærmen med echo.
Den virker fint når man sletter et billede .. og når man så trykker f5 når man har slettet billedet så siger den os fint der ingen billeder er.. men går jeg almindeligt ind på siden slet.php poster den ingen ting med at der ingen billeder er :/
nåeh okay .. hehe ..så forstod jeg det..
det virker som sagt kun når linjen: <?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?> er aktiv
Prøv måske: <?php $dir = "../../../sten/28/eks/"; if($_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Billedet blev slettet</div>"; } } ?><table cellpadding="0" cellspacing="0" width="100%"> <? if (@$handle = opendir($dir) or die("Kunne ikke åbne din billed mappe")) { $files = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } if (is_array($files)) { $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} ?> <table cellpadding="0" cellspacing="0" align="center" class="tekst_link"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"><br> </td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?>">Slet</a> </div></td> </center> </tr> <? } } else { echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Der er ingen billeder at slette</div>"; }?> </table>
vil du have en phps fil ?
Prøv måske at slette denne linie: $files = array(); da den jo gør at $files altid er et array og det er vi ikke interesserede i.
Et par mindre rettelser: <?php $dir = "../../../sten/28/eks/"; if(isset($_GET["action"]) && $_GET["action"] == "delpic") { if(file_exists($dir . $_GET["name"])) { unlink($dir . $_GET["name"]); echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Billedet blev slettet</div>"; } } ?><table cellpadding="0" cellspacing="0" width="100%"> <? if (@$handle = opendir($dir) or die("Kunne ikke åbne din billed mappe")) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") { $files[] = $file; } } closedir($handle); } if (isset($files) && is_array($files)) { $td = 0; sort($files); foreach($files as $file){ $td++; if($td == 1) {echo "<tr>\n"; } ?> <td align="center" width="25%"> </td> <? if($td == 4) {echo "</tr>\n"; $td = 0;} ?> <table cellpadding="0" cellspacing="0" align="center" class="tekst_link"> <tr> <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"><br> </td> </tr> <tr> <center> <td class="tekst_normal"> <div align="center"> <?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?>">Slet</a> </div></td> </center> </tr> <? } } else { echo "<div align='center' style='font: small Verdana, Geneva, Arial, Helvetica, sans-serif; color: White;'>Der er ingen billeder at slette</div>"; }?> </table>
Ja sådan .. nu virker det perfekt.. tusind tak for hjælpen da !!!!
Vi tilbyder markedets bedste kurser inden for webudvikling