Avatar billede vixmix Nybegynder
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>&nbsp;&nbsp;&nbsp;";
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 !
Avatar billede detox Nybegynder
20. maj 2004 - 11:11 #1
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>&nbsp;&nbsp;&nbsp;";
    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";
}
?>
Avatar billede detox Nybegynder
20. maj 2004 - 11:12 #2
Undskyld:

if (is_array($files) {

skal være:

if (is_array($files)) {
Avatar billede vixmix Nybegynder
20. maj 2004 - 11:21 #3
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å :)?
Avatar billede detox Nybegynder
20. maj 2004 - 11:27 #4
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>";
}
Avatar billede detox Nybegynder
20. maj 2004 - 11:29 #5
'small' skal måske være 'smaller' eller 'x-small' for at svare til font-size=2 er ikke helt sikker.
Avatar billede vixmix Nybegynder
20. maj 2004 - 11:40 #6
perfekt.. tusind tak.. vil du have points? :)
Avatar billede detox Nybegynder
20. maj 2004 - 11:53 #7
Velbekommen, ja ok så, her et svar.
Avatar billede vixmix Nybegynder
20. maj 2004 - 11:57 #8
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%">&nbsp; </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>
                                          <? } }?>
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:00 #9
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%">&nbsp; </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>
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:02 #10
og kan der evt. stå når man har trykket på "slet"  "billedet blev slette"
Avatar billede detox Nybegynder
20. maj 2004 - 12:13 #11
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>";
}
}
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:15 #12
Ja, hvis du ikke bruger den header du har udkommenteret:    - undskyld spørger dumt.. men hvad mener du med det ;)
Avatar billede detox Nybegynder
20. maj 2004 - 12:20 #13
Du kan ikke bruge denne linie:

  //header("Location: slet.php");

hvis du laver output til skærmen med echo.
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:22 #14
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 :/
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:23 #15
nåeh okay .. hehe ..så forstod jeg det..
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:24 #16
det virker som sagt kun når linjen:
<?php echo $file; ?> - <a href="?action=delpic&name=<?php echo $file?>

er aktiv
Avatar billede detox Nybegynder
20. maj 2004 - 12:29 #17
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%">&nbsp; </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>
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:33 #18
Nej stadigvæk ikke :o(
Avatar billede vixmix Nybegynder
20. maj 2004 - 12:34 #19
vil du have en phps fil ?
Avatar billede detox Nybegynder
20. maj 2004 - 12:49 #20
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.
Avatar billede detox Nybegynder
20. maj 2004 - 12:55 #21
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%">&nbsp; </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>
Avatar billede vixmix Nybegynder
20. maj 2004 - 13:00 #22
Ja sådan .. nu virker det perfekt.. tusind tak for hjælpen da !!!!
Avatar billede detox Nybegynder
20. maj 2004 - 13:02 #23
Selv tak.
Avatar billede vixmix Nybegynder
20. maj 2004 - 13:08 #24
-lukket-
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