Avatar billede ulfhedne Nybegynder
29. marts 2003 - 17:03 Der er 10 kommentarer og
1 løsning

Fotoalbum uden MySQL

Har søgt E. igennem, men synes ikke rigtig jeg kan finde et fotoalbum-script jeg kan bruge, så jeg håber nogle kan hjælpe!

Jeg søger et script uden MySQL hvor man kan uploade billeder, og der så er en thumpnail side hvor man kan klikke på de enkelte billeder.

Der må gerne være en resize funktion så store billeder eksempelvis bliver minimeret til 150kb.

Hvis det er muligt at se scriptet i aktion så ville det være fedt!
Avatar billede bufferzone Praktikant
29. marts 2003 - 17:54 #1
Hvis du ønsker et dynamsik album, hvor der kan uploades, er du nødt til at have en eller anden form for "database" til at opbevare oplysningerne i. Hvis det ikke må være MySql må du vælge et andet format (access, orakle, osv, osv) Jev vil ikke totalt afvise at det kunne laves med en kommasepareret text fil som "database" jeg har bare aldrig set det
Avatar billede fangel Nybegynder
29. marts 2003 - 18:08 #2
bufferzone => hvis der bare skal være billeder, og ingen beskrivelse eller søgning i scriptet, så kan det somend nemt lade sig gøre...

Morten
Avatar billede bufferzone Praktikant
29. marts 2003 - 18:18 #3
Ja det er ikke vildt svært. Jeg er kund vand til at arbejde med ASP. men hvis du kun vil ovenstående har du brug for et upload component, en grafisk resizekomponent samt en tatabase til at indeholde stien til billedet og stigen til thumbnailen. Det er teknisk muligt at lave denne database som en tekstfil.
Problemet er at du ønsker dynamik, hvorfor du er nødt til at have en eller anden form for "dynamisk opbevaring" ad de oplysninger der er nødvendige for at generere siden
Avatar billede raffar Juniormester
30. marts 2003 - 03:16 #4
Avatar billede raffar Juniormester
30. marts 2003 - 03:25 #5
Dellary kan måske bruges. Du finder det her http://sourceforge.net/projects/dellary
Avatar billede raffar Juniormester
30. marts 2003 - 03:26 #6
Jeg ved at der findes andre. Har også set en tutorial på et tidspunkt.
Avatar billede fangel Nybegynder
30. marts 2003 - 10:34 #7
bufferzone => PHP og ASP er vidt forskellige idet PHP er OPenSource, derfor findes Upload og Grafisk komponenter allerede integreret i PHP (i version 4.3.0+)...
PHP kan også søge gennem bibloteker efter filer, og derefter lave en liste over filer der ender på lige det du vil have (jpg, jpeg, png, gif)...

derfor vil det som ulfhedne gerne vil have, sagtens lade sig gøre helt uden filer til at holde styr på hvor filerne findes... ellers kan man jo også have en .xml fil til at holde styr på hvor filerne ligger... ;)

hvis du er villig til at betale lidt for det, så kan jeg sagtens lave det...

Morten
Avatar billede andy Nybegynder
30. marts 2003 - 14:33 #8
Avatar billede dhunters Nybegynder
30. marts 2003 - 19:07 #9
Det her viser alle billed-filer i en mappe som et album:

Gem filen som et-eller-andet.php!

<?

/// Customization
                            // no directory BELOW this will be viewable
$title='Billeder fra ...';                    // title of table, leave blank to use default
$showfilenames=0;            // showfilenames .. if disabled, and file has no description, name will be used as description.
$openwindow=1;                // open in popup, 1 = true, 0 = false
$showimagesize=1;            // show image height/width   
$thumbnails=1;                // show image thumbnails
$browse=1;                    // allow subdirectory browsing

$filetypes='jpg|gif|png';    // allowable filetypes, seperate with | (to list all files, use '.')
$rootdir='.';                // directory to show images in, '.' will show images in the same dir as the file.


// modify look/layout
$tdcolor="f1f1f1";            // main td color
$tdovercolor="fffff1";    // td mouseover color
$bordercolor="000000";    // table border color
$textcolor="000000";      // td text color
$tablewidth='500';            // width of the table.. you might want to change this to fit your layout better.

// name of imagemagick convert program (and path if required) .. default is 'convert'
// this is used for thumbnails.. if you don't have it, get it installed!
// comment this out if you don't want to use it

// you may have to use the full path

$imconvert='/usr/local/bin/convert';                               

// don't have imagemagick? you can still manually create thumbnails, they should be 80x50 images,
// with the filename image_tedlsthumb.jpg .. they should ALWAYS be jpg. (image.gif , thumbnail would be image_tedlsthumb.jpg)


////
// To use file descriptions, save a plain text file named FILENAME.EXT.desc , with the description in it
// for example, to have a description for beach.jpg, you would save your description file as beach.jpg.desc
// .desc files will NOT be listed by this script, even if you have $filetypes set to '.'
 

////////////////////////
// SCRIPT BEGINS HERE
$showdir = ereg_replace("\.\./","",$showdir);
if ($showdir) { $listdir = $rootdir.ereg_replace("\./","",$showdir); } else { $listdir = $rootdir; }

if (!$title) $title = 'Billeder i '.$listdir;

$handle=@opendir($listdir);
if (!$handle) { echo "no directory ('.$listdir.'), dying."; exit(); }

  echo '
  <script language="JavaScript">
  function openl(img,nw,nh) {';
  if ($openwindow == 1) { echo 'window.open(img, nw+nh, "toolbar=no,menubar=no,location=no,scrollbars=no,resize=no,width=" + nw + ",height=" + nh);'; }
  else { echo 'document.location=img;'; }
  echo '}</script> 
  <table bgcolor="'.$bordercolor.'" cellpadding="0" cellspacing="0" border="0"><tr><td>
  <table cellpadding="1" cellspacing="1" width="'.$tablewidth.'">
  <tr><td colspan="3" bgcolor="'.$tdcolor.'" align="center"><font face="verdana" size="1" color="'.$textcolor.'"><b>'.$title.'</b></font></td></tr>';

  // loop through all files, build and sort array
  while (($file = readdir($handle))!==false) {
  $filearray[count($filearray)] = $file;
  }
  asort($filearray); closedir($handle);

  $tmp = split('/',$SCRIPT_FILENAME);
  $docroot = ereg_replace($tmp[count($tmp)-1],'',$SCRIPT_FILENAME);
  chdir($docroot.$listdir);

  // subdirectory browsing   
  if ($browse==1) {
    if ($showdir) {
    $updir = split("/",$showdir);
    $tmp = count($updir)-1;
    $i=0;
    while ($i<$tmp) {
      $back.=$updir[$i].'/';
      $i++;
      }
    $back = substr($back,0,strlen($back)-1);
    echo '<tr><td colspan="3" bgcolor="'.$tdcolor.'" align="center"><font face="verdana" size="1" color="'.$textcolor.'"><b><a href="'.$PHP_SELF.'?showdir='.$back.'">« parent directory</a></b></font></td></tr>';
    }
    foreach ($filearray as $file) {
    if (is_dir($file) && $file != '.' && $file != '..') echo '<tr><td colspan="3" bgcolor="'.$tdcolor.'" align="center"><font face="verdana" size="1" color="'.$textcolor.'"><b><a href="'.$PHP_SELF.'?showdir='.$showdir.'/'.$file.'">'.$file.'</a></b></font></td></tr>';
    }
  }

  // loop all files, and filter file types
  foreach ($filearray as $file) {
  $name = split("\.",$file);
   
  if (eregi($filetypes,$name[count($name)-1]) == true) {
    // get filesize and translate to human readable size
   
    $file_size = filesize($file);
    if ($file_size >= 1073741824) {
      $file_size = round($file_size / 1073741824 * 100) / 100 . "g";
    } elseif ($file_size >= 1048576) {
      $file_size = round($file_size / 1048576 * 100) / 100 . "m";
    } elseif ($file_size >= 1024) {
      $file_size = round($file_size / 1024 * 100) / 100 . "k";
    } else {
      $file_size = $file_size . "b";
    }
   
    unset($fileinfo);
    if (file_exists($file.'.desc')) {
        if ($showfilenames == 1) $fileinfo = '<b>'.$file.'</b><br>';
        $fdesc = fopen ($file.'.desc',r);
        $fileinfo .= fread ($fdesc, filesize ($file.'.desc'));
        fclose ($fdesc);
    } else {
        $fileinfo = '<b>'.$file.'</b> ';
        }
     
    if ($size = @getimagesize($file)) {
      $nw = $size[0] + 23;
      $nh = $size[1] + 23;
      }
      if ($showimagesize == 1) {
      $imagesize = $size[0].'x'.$size[1];
    }
 
  if ($file != '.' && $file != '..' && !ereg('.desc',$file) && !ereg('tedlsthumb',$file)) {
    echo '<tr>';
    // thumbnail handling
    if ($thumbnails==1) {
        if ($imconvert && !file_exists($name[0].'_tedlsthumb.jpg')) exec($imconvert.' -quality 70 -geometry 80X50 '.$docroot.$listdir.'/'.$file.' '.$docroot.$listdir.'/'.$name[0].'_tedlsthumb.jpg');
        if (file_exists($name[0].'_tedlsthumb.jpg')) {
          $thumbnailimg = $listdir.'/'.$name[0].'_tedlsthumb.jpg';
          } else { $thumbnailimg = $listdir.'/'.$file; }
        echo '<td valign="top" bgcolor="'.$tdcolor.'" style="cursor: hand" onclick="openl(\''.$listdir.'/'.$file.'\',\''.$nw.'\',\''.$nh.'\')" onmouseover="a'.ereg_replace("-","",ereg_replace(" ","",ereg_replace('\.','',$file))).'.filters.alpha.opacity=\'100\';" onmouseout="a'.ereg_replace("-","",ereg_replace(" ","",ereg_replace('\.','',$file))).'.filters.alpha.opacity=\'75\';" width="80"><img style="filter:alpha(opacity=80);" id="a'.ereg_replace("-","",ereg_replace(" ","",ereg_replace('\.','',$file))).'" src="'.$thumbnailimg.'" width="80" height="50"></td>';
    }
    $tdwidth = $tablewidth - 130;   
    echo '<td valign="top" width="90" bgcolor="'.$tdcolor.'" align="right" style="cursor: default;"><font face="verdana" size="1" color="'.$textcolor.'">'.$file_size.' '.$name[count($name)-1].' &nbsp; <br>'.$imagesize.' &nbsp; </font></td>
    <td width="'.$tdwidth.'" valign="top" bgcolor="'.$tdcolor.'" onclick="openl(\''.$listdir.'/'.$file.'\',\''.$nw.'\',\''.$nh.'\')" onmouseover="this.style.backgroundColor=\''.$tdovercolor.'\'" onmouseout="this.style.backgroundColor=\''.$tdcolor.'\'" style="padding-left: 8;">
    <font face="verdana" size="1" color="'.$textcolor.'"><a style="color: '.$textcolor.'; cursor: default; text-decoration: none;" href="java script:openl(\''.$listdir.'/'.$file.'\',\''.$nw.'\',\''.$nh.'\')">'.$fileinfo.'</a></font></td>
    </tr>';
      }
  }
}
echo '
</table></td></tr></table>';
?>
Avatar billede dhunters Nybegynder
30. marts 2003 - 19:08 #10
Det er rigtig godt...
Avatar billede ulfhedne Nybegynder
31. marts 2003 - 09:07 #11
dhunters: tak, det er fint da jeg selv har et upload script jeg kan bruge.
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