Avatar billede cbennike Nybegynder
03. februar 2004 - 23:32 Der er 10 kommentarer og
1 løsning

sortering af filer på DATO

Jeg har en mappe fuld af billeder lige nu bliver listet op af nedenstående script...Men jeg vil gerne have dem listet op efter d. dato som de blev uploaded til mappen... Kan man det? og hvordan ser scriptet evt ud så? Nedenstående er bare et udpluk af koden...Regner med at de stumper man skal bruge...



// DIRECTORY NAME
$handle=opendir('.');

// GO
$piccy=array();
$count=0;
// SCAN THE DIR
while (($filename = readdir($handle))!==false) {
  // ADD IN EXTRA FILE TYPES HERE
  if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp"){
  if (substr($filename,0,6) == "thumb_"){
    $piccy[$count] = $filename;
    $count++;
  }}}
// CLOSE DIR
closedir($handle); 
// SORT THE FILES
sort($piccy);
reset($piccy);
Jeg har en mappe fuld af billeder lige nu bliver listet op af nedenstående script...Men jeg vil gerne have dem listet op efter d. dato som de blev uploaded til mappen... Kan man det? og hvordan ser scriptet evt ud så?


// DIRECTORY NAME
$handle=opendir('.');

// GO
$piccy=array();
$count=0;
// SCAN THE DIR
while (($filename = readdir($handle))!==false) {
  // ADD IN EXTRA FILE TYPES HERE
  if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp"){
  if (substr($filename,0,6) == "thumb_"){
    $piccy[$count] = $filename;
    $count++;
  }}}
// CLOSE DIR
closedir($handle); 
// SORT THE FILES
sort($piccy);
reset($piccy);

for ($l=0;$l<=sizeof($piccy)-1;$l++){
  $isend = strpos((($l)/$td),".");
  if (!$isend && ($l!=0)){echo "</tr>\n<tr><td colspan=$td><br></td></tr>\n<tr>\n";}
  if ($l==0){echo "\n";}
  // START THE <TD>
  echo '<td width="'.$divider.'%" valign="middle" align="center">';
  // GET THE LARGER PICTURE (IF SELECTED)
  echo "<a href=\"$PHP_SELF?large=".substr($piccy[$l],6)."\">";
  // DISPLAY THE THUMBNAILS
  echo '<img src="'.$piccy[$l].'" alt="'.$piccy[$l].'" border=0></a><br><br>';
  // IS NAME SELECTED TO SHOW?
  if ($name=="1") {
  echo '<font face="arial" color=' .$textfarve.' size="1">' . substr($piccy[$l],6) . '</font>';}
  echo '</td>';
  echo"\n";}
  echo '</tr></table></div>';}
  echo '<br><br><br><div align="center"><font face="arial" color=' .$textfarve.' size="1">
Avatar billede cbennike Nybegynder
03. februar 2004 - 23:33 #1
Der sketet da vist en fejl (sikkert min) nå men prøver lige igen
****SPØRGSMÅLET IGEN*****

Jeg har en mappe fuld af billeder lige nu bliver listet op af nedenstående script...Men jeg vil gerne have dem listet op efter d. dato som de blev uploaded til mappen... Kan man det? og hvordan ser scriptet evt ud så? Nedenstående er bare et udpluk af koden...Regner med at de stumper man skal bruge...



// DIRECTORY NAME
$handle=opendir('.');

// GO
$piccy=array();
$count=0;
// SCAN THE DIR
while (($filename = readdir($handle))!==false) {
  // ADD IN EXTRA FILE TYPES HERE
  if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp"){
  if (substr($filename,0,6) == "thumb_"){
    $piccy[$count] = $filename;
    $count++;
  }}}
// CLOSE DIR
closedir($handle); 
// SORT THE FILES
sort($piccy);
reset($piccy);
Avatar billede erikjacobsen Ekspert
03. februar 2004 - 23:38 #2
Du kan måske bruge dette som inspiration (lavet til et andet spørgsmål). Jeg har ikke
dit test for filtyper med:

  class fil {
  var $fil,$oprettelse;

          function fil($navn,$oprettelse) {
            $this->navn=$navn;
                $this->oprettelse=$oprettelse;
          }

        }

  function filcmp ($a, $b) {
  if ($a->oprettelse == $b->oprettelse) return 0;
  return ($a->oprettelse > $b->oprettelse) ? 1 : -1;
}


  $dir='../c';
  $d = opendir($dir);
  while ($f=readdir($d)) {
    if ($f!='.' && $f!='..') {
        $s=stat("$dir/$f");
                $a[]=new fil($f,$s[10]);
        }
  }
  closedir($d);

  usort ($a, "filcmp");

  reset($a);
  foreach ($a as $val) {
    print date("Y-m-d h:i:s",$val->oprettelse).": $val->navn<br>\n";
  }
Avatar billede cbennike Nybegynder
04. februar 2004 - 11:27 #3
øhh ved ikke lige hvordan jeg skal gøre med scriptet...
Avatar billede cbennike Nybegynder
04. februar 2004 - 22:39 #4
hmm nu har jeg lige prøvet at lege lidt med dit script forslag.JEg kan godt se at det er der vi skal hen.Men jeg kan ikke få den til kun at liste et passende navn(altså tidspunktet på det rigtige billede...)

Det ville være fedt hvis den listede alle billeder op fra mappen (sorteret efter dato (nyeste øverst) og derefter kaldte lavede en 'alt' tekst med datoen. Jeg kan simpelthen ikke lige regne ud hvordan man gør det...Hele scriptet kommer herPS jeg har lagt 100 point i puljen til en løsning :-)

<?


##############################################################################
# Easy Gallery                  Version 1.2                                  #
# Copyright 2001 DotDragNet    burt@dotdragnet.co.uk                        #
# PHP, Flash, ASP and Perl from http://www.dotdragnet.co.uk/                #
##############################################################################
# This script is copyright 2001, burt@dotdragnet.co.uk www.dotdragnet.co.uk  #
#                                                                            #
# COPYRIGHT NOTICE                                                          #
# Copyright 2001 DotDragNet.co.uk  All Rights Reserved.                      #
#                                                                            #
# This script may be used and modified free of charge by anyone so long as  #
# this copyright notice and the comments above remain intact.  By using this #
# script and its associated files, you agree to indemnify DotDragNet and all #
# other interested parties from any liability that might arise from it's use.#
#                                                                            #
# Selling the code for this program without prior written consent is        #
# expressly forbidden.  Obtain permission before redistributing this        #
# script over the Internet or in any other medium. In all cases copyright    #
# and header must remain intact.                                            #
#                                                                            #
# Please don't remove the link to www.dotdragnet.co.uk from the pages        #
# that this script creates.  All ya gotta do is let us know where it is in  #
# use, and you may then remove the link!                                    #
#                                                                            #
# DotDragNet also requests that should you make any improvements to this    #
# script, please be kind enough to let us know so that we may improve ours  #
# for the rest of the people who use it.                                    #
##############################################################################

// PLEASE READ THE ACCOMPANYING README.TXT

// DEFINE VARIABLES:

// NUMBER OF <TD> PER <TR> ( IN ENGLISH: COLUMNS IN THE PAGE :-) )
$td='5';
// BACKGROUND COLOR OF THE PAGE
$bg='#595959';
// SHOW THE NAME OF THE FILE?
$name='1'; // 1 = yes, 0 = no
// TITLE OF YOUR PAGE
$pagetitle='<font size="3">Fotogalleri</font>';

$textfarve="#ffffff";

### --- CHANGE NOTHING BELOW THIS LINE UNLESS YOU ARE OK WITH PHP --- ###

// DIRECTORY NAME
$handle=opendir('.');

// GO
$piccy=array();
$count=0;
// SCAN THE DIR
while (($filename = readdir($handle))!==false) {
  // ADD IN EXTRA FILE TYPES HERE
  if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp"){
  if (substr($filename,0,6) == "thumb_"){
    $piccy[$count] = $filename;
    $count++;
  }}}
// CLOSE DIR
closedir($handle); 
// SORT THE FILES
sort($piccy);
reset($piccy);

// DISPLAY LARGE IMAGE
if ($large){
        echo "<html><head><title>Galleri " .$large. "</title></head><body bgcolor=" . $bg . ">";
  echo '<div align="center">';
// IS NAME SELECTED TO SHOW?
  if ($name=="1") {
      if (!(file_exists($large))){
          echo "Filen findes ikke.";
          exit;
      }
      echo '<br><font face="arial" color=' .$textfarve.' size="1">Selected image: ' . $large . '</font>';}
// SHOW THE PICTURE
  echo '<table width="100%" border=0 cellpadding=0 cellspacing=0>';
  echo '<tr>';
  echo '<td valign="middle" align="center"><a href=java script:history.back(-1)><img src="'.$large.'" alt="'.$large.'" border=0></a></td>';
  echo '<br>';
  echo '</tr></table>';
  echo '<br><br>';
  echo '<a href=java script:history.back(-1)>';
  echo '<font face="arial" color=' .$textfarve.' size="1">Til oversigt</font></a>';
        }
// NO LARGE PICCY, CREATE TABLE FOR THUMBNAILS:
else{
// start table, if you want cellpadding, cellspacing, colors, set them here
echo '<html><head><title>Galleri</title>';
echo '<head>';
echo "<body bgcolor=" . $bg . ">";
echo '<div align="center"><font face="arial" color=' .$textfarve.' size="1">' . $pagetitle . '</font><br>';
echo '<br><table width="100%" border=0 cellpadding=0 cellspacing=0>';
echo '<tr>';
// BECAUSE THE <TD> IS SET BY USER, WORK OUT THE PERCENTAGES:
$divider=ceil(100/$td);
if (($divider*$td)>100) $divider--;
// GRAB THE IMAGES
for ($l=0;$l<=sizeof($piccy)-1;$l++){
  $isend = strpos((($l)/$td),".");
  if (!$isend && ($l!=0)){echo "</tr>\n<tr><td colspan=$td><br></td></tr>\n<tr>\n";}
  if ($l==0){echo "\n";}
  // START THE <TD>
  echo '<td width="'.$divider.'%" valign="middle" align="center">';
  // GET THE LARGER PICTURE (IF SELECTED)
  echo "<a href=\"$PHP_SELF?large=".substr($piccy[$l],6)."\">";
  // DISPLAY THE THUMBNAILS
  echo '<img src="'.$piccy[$l].'" alt="'.$piccy[$l].'" border=0></a><br><br>';
  // IS NAME SELECTED TO SHOW?
  if ($name=="1") {
  echo '<font face="arial" color=' .$textfarve.' size="1">' . substr($piccy[$l],6) . '</font>';}
  echo '</td>';
  echo"\n";}
  echo '</tr></table></div>';}
  echo '<br><br><br><div align="center"><font face="arial" color=' .$textfarve.' size="1">Fotogalleri</font></div></body></html>';
?>
Avatar billede fatass Nybegynder
05. februar 2004 - 11:18 #5
Det her burde virke:

<?
##############################################################################
# Easy Gallery                  Version 1.2                                  #
# Copyright 2001 DotDragNet    burt@dotdragnet.co.uk                        #
# PHP, Flash, ASP and Perl from http://www.dotdragnet.co.uk/                #
##############################################################################
# This script is copyright 2001, burt@dotdragnet.co.uk www.dotdragnet.co.uk  #
#                                                                            #
# COPYRIGHT NOTICE                                                          #
# Copyright 2001 DotDragNet.co.uk  All Rights Reserved.                      #
#                                                                            #
# This script may be used and modified free of charge by anyone so long as  #
# this copyright notice and the comments above remain intact.  By using this #
# script and its associated files, you agree to indemnify DotDragNet and all #
# other interested parties from any liability that might arise from it's use.#
#                                                                            #
# Selling the code for this program without prior written consent is        #
# expressly forbidden.  Obtain permission before redistributing this        #
# script over the Internet or in any other medium. In all cases copyright    #
# and header must remain intact.                                            #
#                                                                            #
# Please don't remove the link to www.dotdragnet.co.uk from the pages        #
# that this script creates.  All ya gotta do is let us know where it is in  #
# use, and you may then remove the link!                                    #
#                                                                            #
# DotDragNet also requests that should you make any improvements to this    #
# script, please be kind enough to let us know so that we may improve ours  #
# for the rest of the people who use it.                                    #
##############################################################################

// PLEASE READ THE ACCOMPANYING README.TXT

// DEFINE VARIABLES:

// NUMBER OF <TD> PER <TR> ( IN ENGLISH: COLUMNS IN THE PAGE :-) )
$td='5';
// BACKGROUND COLOR OF THE PAGE
$bg='#595959';
// SHOW THE NAME OF THE FILE?
$name='1'; // 1 = yes, 0 = no
// TITLE OF YOUR PAGE
$pagetitle='<font size="3">Fotogalleri</font>';

$textfarve="#ffffff";

### --- CHANGE NOTHING BELOW THIS LINE UNLESS YOU ARE OK WITH PHP --- ###

// DIRECTORY NAME
$handle=opendir('.');

// GO
$piccy=array();
$count=0;
// SCAN THE DIR
while (($filename = readdir($handle))!==false) {
  // ADD IN EXTRA FILE TYPES HERE
  if (substr($filename,-4) == ".jpg" || substr($filename,-4) == ".gif" || substr($filename,-4) == ".png" || substr($filename,-4) == ".JPG" || substr($filename,-4) == ".GIF" || substr($filename,-4) == ".PNG"  || substr($filename,-4) == ".BMP" || substr($filename,-4) == ".bmp"){
  if (substr($filename,0,6) == "thumb_"){
    $piccy[$count][navn] = $filename;
    $piccy[$count][dato] = filemtime($filename);
    $count++;
  }}}
// CLOSE DIR
closedir($handle);
// SORT THE FILES
usort($piccy, "cmp");
reset($piccy);

// DISPLAY LARGE IMAGE
if ($large){
        echo "<html><head><title>Galleri " .$large. "</title></head><body bgcolor=" . $bg . ">";
  echo '<div align="center">';
// IS NAME SELECTED TO SHOW?
  if ($name=="1") {
      if (!(file_exists($large))){
          echo "Filen findes ikke.";
          exit;
      }
      echo '<br><font face="arial" color=' .$textfarve.' size="1">Selected image: ' . $large . '</font>';}
// SHOW THE PICTURE
  echo '<table width="100%" border=0 cellpadding=0 cellspacing=0>';
  echo '<tr>';
  echo '<td valign="middle" align="center"><a href=java script:history.back(-1)><img src="'.$large.'" alt="'.$large.'" border=0></a></td>';
  echo '<br>';
  echo '</tr></table>';
  echo '<br><br>';
  echo '<a href=java script:history.back(-1)>';
  echo '<font face="arial" color=' .$textfarve.' size="1">Til oversigt</font></a>';
        }
// NO LARGE PICCY, CREATE TABLE FOR THUMBNAILS:
else{
// start table, if you want cellpadding, cellspacing, colors, set them here
echo '<html><head><title>Galleri</title>';
echo '<head>';
echo "<body bgcolor=" . $bg . ">";
echo '<div align="center"><font face="arial" color=' .$textfarve.' size="1">' . $pagetitle . '</font><br>';
echo '<br><table width="100%" border=0 cellpadding=0 cellspacing=0>';
echo '<tr>';
// BECAUSE THE <TD> IS SET BY USER, WORK OUT THE PERCENTAGES:
$divider=ceil(100/$td);
if (($divider*$td)>100) $divider--;
// GRAB THE IMAGES
for ($l=0;$l<=sizeof($piccy)-1;$l++){
  $isend = strpos((($l)/$td),".");
  if (!$isend && ($l!=0)){echo "</tr>\n<tr><td colspan=$td><br></td></tr>\n<tr>\n";}
  if ($l==0){echo "\n";}
  // START THE <TD>
  echo '<td width="'.$divider.'%" valign="middle" align="center">';
  // GET THE LARGER PICTURE (IF SELECTED)
  echo "<a href=\"$PHP_SELF?large=".substr($piccy[$l][navn],6)."\">";
  // DISPLAY THE THUMBNAILS
  // Da $piccy[][dato] er et timestamp kører vi lige date() på den, for at få et pænt formateret output.
  // Se http://dk.php.net/manual/en/function.date.php for information om, hvordan du tilpasser date()
  $piccy[$l][dato] = date("d-m-Y H:i", $piccy[$l][dato]);
  echo '<img src="'.$piccy[$l][navn].'" alt="'.$piccy[$l][dato].'" border=0></a><br><br>';
  // IS NAME SELECTED TO SHOW?
  if ($name=="1") {
  echo '<font face="arial" color=' .$textfarve.' size="1">' . substr($piccy[$l][navn],6) . '</font>';}
  echo '</td>';
  echo"\n";}
  echo '</tr></table></div>';}
  echo '<br><br><br><div align="center"><font face="arial" color=' .$textfarve.' size="1">Fotogalleri</font></div></body></html>';



function cmp($a, $b)
{
  return strcmp($b["dato"], $a["dato"]);
}
?>
Avatar billede cbennike Nybegynder
05. februar 2004 - 13:01 #6
Og vupti så kom alle mine billeder i en pæn orden. Mange tak! Smid lige et svar. Mange tak det ser godt ud! (og tak for de kommenater du har lagt ind)
Avatar billede fatass Nybegynder
05. februar 2004 - 13:55 #7
Det var så lidt
Avatar billede cbennike Nybegynder
16. februar 2004 - 21:16 #8
-->Fatass

Er mon muligt at gøre det samme samme på den her? Jeg oprettre gerne endnu et spøsmål med 100 point...Jeg har prøvet at kigge p ådet du havde lavet men tror ikke helt at jeg forstår det ... (så hvis du gider at kommenterer det (bare meget kort) så ville det være super ;-)

Here goes:

else {
    $file_arr = Get_Imgs($dir);
    $antal_filer = count($file_arr);
    echo "<table border='1' width ='90%' bordercolor='#dcdcdc'>\n"; //Farve på den yderste border
    for ($i=0;$i<$antal_filer;$i++) {
        if ($i%$pr_raekke == 0) echo "<tr>\n";
        echo "<td bordercolor='#000000'>"; //farve på den inderste border
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."' onClick=\"return confirm ('Er du sikker på, at du vil slette billedet  \'" . $file_arr[$i] . " \' ?');\"><b>Slet dette billede:<br></b>";
        echo "<img border='0' alt='". $file_arr[$i] ."' src='". $dir.$file_arr[$i] ."' /></a><br>";
        echo "<font size='1'>". $file_arr[$i]."</font><br>";
       
        if ($i%$pr_raekke == $pr_raekke-1) echo "</tr>\n";
    }
    if ($i%$pr_raekke != 0) echo "</tr>\n";
    echo "</table>\n";
}
function Get_Imgs($dir) {
    $allowed = array('jpg', 'png', 'gif', 'jpeg');
    $d = dir($dir);
    while($entry = $d->read()) {
        if (!is_dir($entry)) {
            $pi = pathinfo($entry);
            if (isset($pi['extension']) && in_array($pi['extension'], $allowed) && substr($entry,0,6) == "thumb_") {
                $files[] = $entry;
            }
        }
    }
$d->close();
return $files;
}
Avatar billede cbennike Nybegynder
18. februar 2004 - 21:37 #9
Er der ingen ´der har et bud? Se evt. http://www.eksperten.dk/spm/466251
Avatar billede cbennike Nybegynder
21. februar 2004 - 20:15 #10
Fatass...Pretty please :-) Jeg kunne virkelig godt bruge hjælpen. Hvis du ikke gider er det ok. men gider du så ikke lige give besked - Tak
Avatar billede cbennike Nybegynder
05. april 2004 - 09:20 #11
hmmm

Jeg lukker
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