Hier zijn we dan weer ..
Ik heb een probleem met een script dat ik heb aangepast ...
(als ik het zelf had geschreven zou ik het probleem waarschijnlijk niet hebben)
Ik wil een script dat zelf gaat zoeken in een DIR hoeveel mappen er hier zijn en uit elke map willekeurig een foto laat zien .
Dit is gelukt !
Ik heb een fotoalbum dat ik gebruik (wel bewerkt heb maar niet zelf geschreven) genomen en hierin beginnen knippen tot ik alleen nog maar een willekeurige foto heb uit elke map.
Wie het wil testen wat heb je nodig : en de map waar je het wil in testen maak je een map "fotoalbum" aan en daarin een map "klein" in deze 2 mappen zet je enkele mapjes met foto's (dezelfde van naam in klein en fotoalbum wegens dat dit de thumb folder moet zijn)
Het script werkt buiten dat ik wil dat de laatst aangepaste map 1st word weergegeven.
In het originele script kon je dit sorteren
Eerst zal ik posten wat ik er al van heb gemaakt :
<?
session_start();
?>
<?
/*
Dit is een goed script ik heb het uit een groot script uit gehaald het grote script kwam van http://www.evoluted.net nu zal het dienen voor www.buitendegrenzen.be aangepast door Taguan en het zal een onderdeel van een fotoalbum worden.
*/
$startdir = 'fotoalbum/';
/*
Laat je de directorys zien ?
*/
$showdirs = true;
/*
Wat mag niet worden getoond ...
*/
$hide = array(
'image',
'gif',
'dlf',
'iets',
'test23',
'testjesm',
'klein',
'_notes',
'index.php',
'Thumbs',
'.htaccess',
'.htpasswd'
);
/*
Dit is een script dat ik herwerkt heb om alleen mappen te kunnen zien.
*/
error_reporting(0);
//if ($leadon =="")
$leadon = $startdir;
// HIER HEB IK EEN DEEL CODE WEG GEHAALD OVER DE FORCE DOWNLOAD OPTIE ******************************************************************************************
$opendir = $leadon;
if(!$leadon) $opendir = '.';
if(!file_exists($opendir)) {
$opendir = '.';
$leadon = $startdir;
}
clearstatcache();
//Wat staat er allemaal in de map ************************************************************************************
if ($handle = opendir($opendir)) {
while (false !== ($file = readdir($handle))) {
//Wat is er allemaal nodig...
if ($file == "." || $file == "..") continue;
$discard = false;
for($hi=0;$hi<sizeof($hide);$hi++) {
if(strpos($file, $hide[$hi])!==false) {
$discard = true;
}
}
if($discard) continue;
if (@filetype($leadon.$file) == "dir") {
if(!$showdirs) continue;
$n++;
//******************************* HIER LOOPT HET ERGENS MIS
// if($_GET['sort']=="date") {
$key = @filemtime("fotoalbum".$file) . ".$n";
// }
// else {
// $key = $n;
//}
$dirs[$key] = $file . "/";
}
else {
$n++;
//if($_GET['sort']=="date") {
$key = @filemtime($leadon.$file) . ".$n";
//}
//elseif($_GET['sort']=="size") {
// $key = @filesize($leadon.$file) . ".$n";
//}
//else {
//$key = $n;
//}
$files[$key] = $file;
/* if($displayindex) {
if(in_array(strtolower($file), $indexfiles)) {
header("Location: $file");
die();
}
}
*/
}
}
closedir($handle);
}
//sorteren
@ksort($dirs, SORT_NUMERIC);
@ksort($files, SORT_NUMERIC);
//ordennen
$files = @array_reverse($files);
$dirs = @array_reverse($dirs);
$dirs = @array_values($dirs);
$files = @array_values($files);
//HTML BEGINT HIER *******************************************************************************************
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="buitendegrenzencss.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?
$class = 'b';
if($class=='b') $class='w';
else $class = 'b';
$arsize = sizeof($dirs);
for($i=0;$i<$arsize;$i++) {
?>
<?php
/*
Authored by the Perpetual Dreamer
http://www.perpetualdreamer.com
*/
//directory here (relative to script) als het leeg is '.'
$extra = $dirs[$i];
$path = 'fotoalbum/klein/'.$extra.'' ;
$a = 0;
$imgDir = opendir ($path);
while ( $file = readdir( $imgDir ) )
{
//checks that file is an image
$file_type = strrchr( $file, "." );
$is_image = eregi( "jpg|gif",$file_type );
if ( $file != '.' && $file != '..' && $is_image )
{ $images[$a++] = $file; }
}
closedir ($imgDir);
srand( (double) microtime()*1000000 );
$image_name = $path . '' . $images[rand( 0,sizeof( $images ) -1 )];
$imgSize = GetImageSize( $image_name );
//ends script if no images found
if ( $a == 0 )
die();
print ( "<a href='fotoalbum/index.php?dir=" . $extra . "' TARGET='_top'> <img src=\"" . $image_name . "\"" . $imgSize[3] . " /> </a><br>" );
/*
Basic code (by alland) available at:
http://www.phpbuilder.com/snippet/detail.php?type=snippet&id=42
*/
unset($file, $file_type, $is_image, $images, $imgDir, $image_name, $imgSize);
?>
<?
if($class=='b') $class='w';
else $class = 'b';
}
?>
<?
//include("fotoalbum/connect.php");
// Open de directory met de plaatjes (orrigineel heb ik dit geschreven om mp3's te herkennen "taguan")
if ($handle = opendir($leadon)) {
//Zolang er bestanden in de directory staan (true) lees deze uit
// en gooi ze in de $file variabele
while (false !== ($file = readdir($handle))) {
// controleer of de extentie jpg, png of gif is.
if (substr(strtolower($file),-3) == 'jpg' || substr(strtolower($file),-4) == 'jpeg' ||
substr(strtolower($file),-3) == 'png' || substr(strtolower($file),-3) == 'gif') {
// maak een link.
echo "<a href='".$leadon."$file' target='_self'><img src='klein/".$leadon."$file' ></a>";
$nr = $nr + 1 ;
if ($nr == 5) {
$nr = 0 ;
echo "<br>";
}
}
if (substr(strtolower($file),-3) == 'mp3' || substr(strtolower($file),-3) == 'wma' || substr(strtolower($file),-3) == 'avi' || substr(strtolower($file),-3) == 'mpg' || substr(strtolower($file),-4) == 'mpeg' || substr(strtolower($file),-3) == 'wmv') {
echo "<a href='".$leadon."$file' target='_self' border='0'><img src='/klein/mp3.gif' width='50' height='50'>$file</a><br>";
$nr = $nr + 1 ;
if ($nr == 5) {
$nr = 0 ;
echo "<br>";
}
}
}
// Sluit de directory.
closedir($handle);
}
?>
</p>
</body>
</html>
Voor wie het handig vind dit onderstaande is het fotoalbum waar ik het van heb gemaakt.(staat bij mij in de map "fotoalbum"):
<?
session_start();
?>
<?
/*
Dit is een goed script ik heb het uit een groot script uit gehaald het grote script kwam van http://www.evoluted.net nu zal het dienen voor www.buitendegrenzen.be aangepast door Taguan en het zal een onderdeel van een fotoalbum worden.
*/
$startdir = '.';
/*
Laat je de directorys zien ?
*/
$showdirs = true;
/*
Wat mag niet worden getoond ...
*/
$hide = array(
'image',
'gif',
'dlf',
'iets',
'test23',
'testjesm',
'klein',
'_notes',
'index.php',
'Thumbs',
'.htaccess',
'.htpasswd'
);
/*
Dit is een script dat ik herwerkt heb om alleen mappen te kunnen zien.
*/
error_reporting(0);
//if ($leadon =="")
if((substr($leadon, -1, 1)!='/') && $leadon!='') {
$leadon = $leadon . '/';
}
$startdir = $leadon;
if($_GET['dir']) {
//nakijken
if(substr($_GET['dir'], -1, 1)!='/') {
$_GET['dir'] = $_GET['dir'] . '/';
}
$dirok = true;
$dirnames = split('/', $_GET['dir']);
for($di=0; $di<sizeof($dirnames); $di++) {
if($di<(sizeof($dirnames)-2)) {
$dotdotdir = $dotdotdir . $dirnames[$di] . '/';
}
if($dirnames[$di] == '..') {
$dirok = false;
}
}
if(substr($_GET['dir'], 0, 1)=='/') {
$dirok = false;
}
if($dirok) {
$leadon = $leadon . $_GET['dir'];
}
}
// HIER HEB IK EEN DEEL CODE WEG GEHAALD OVER DE FORCE DOWNLOAD OPTIE ******************************************************************************************
$opendir = $leadon;
if(!$leadon) $opendir = '.';
if(!file_exists($opendir)) {
$opendir = '.';
$leadon = $startdir;
}
clearstatcache();
//Wat staat er allemaal in de map ************************************************************************************
if ($handle = opendir($opendir)) {
while (false !== ($file = readdir($handle))) {
//Wat is er allemaal nodig...
if ($file == "." || $file == "..") continue;
$discard = false;
for($hi=0;$hi<sizeof($hide);$hi++) {
if(strpos($file, $hide[$hi])!==false) {
$discard = true;
}
}
if($discard) continue;
if (@filetype($leadon.$file) == "dir") {
if(!$showdirs) continue;
$n++;
if($_GET['sort']=="date") {
$key = @filemtime($leadon.$file) . ".$n";
}
else {
$key = $n;
}
$dirs[$key] = $file . "/";
}
else {
$n++;
if($_GET['sort']=="date") {
$key = @filemtime($leadon.$file) . ".$n";
}
elseif($_GET['sort']=="size") {
$key = @filesize($leadon.$file) . ".$n";
}
else {
$key = $n;
}
$files[$key] = $file;
if($displayindex) {
if(in_array(strtolower($file), $indexfiles)) {
header("Location: $file");
die();
}
}
}
}
closedir($handle);
}
//sorteren
if($_GET['sort']=="date") {
@ksort($dirs, SORT_NUMERIC);
@ksort($files, SORT_NUMERIC);
}
elseif($_GET['sort']=="size") {
@natcasesort($dirs);
@ksort($files, SORT_NUMERIC);
}
else {
@natcasesort($dirs);
@natcasesort($files);
}
//ordennen
if($_GET['order']=="desc" && $_GET['sort']!="size") {$dirs = @array_reverse($dirs);}
if($_GET['order']=="desc") {$files = @array_reverse($files);}
$dirs = @array_values($dirs); $files = @array_values($files);
//HTML BEGINT HIER *******************************************************************************************
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../buitendegrenzencss.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?
$class = 'b';
if($class=='b') $class='w';
else $class = 'b';
$arsize = sizeof($dirs);
for($i=0;$i<$arsize;$i++) {
?>
<?php
/*
Authored by the Perpetual Dreamer
http://www.perpetualdreamer.com
*/
//directory here (relative to script) als het leeg is '.'
$extra = $dirs[$i];
$path = 'klein/'.$extra.'' ;
$a = 0;
$imgDir = opendir ($path);
while ( $file = readdir( $imgDir ) )
{
//checks that file is an image
$file_type = strrchr( $file, "." );
$is_image = eregi( "jpg|gif",$file_type );
if ( $file != '.' && $file != '..' && $is_image )
{ $images[$a++] = $file; }
}
closedir ($imgDir);
srand( (double) microtime()*1000000 );
$image_name = $path . '' . $images[rand( 0,sizeof( $images ) -1 )];
$imgSize = GetImageSize( $image_name );
//ends script if no images found
if ( $a == 0 )
die();
print ( "<a href='foto.php?dir=" . $extra . "' TARGET='_top'> <img src=\"" . $image_name . "\"" . $imgSize[3] . " /> </a>\n" );
/*
Basic code (by alland) available at:
http://www.phpbuilder.com/snippet/detail.php?type=snippet&id=42
*/
unset($file, $file_type, $is_image, $images, $imgDir, $image_name, $imgSize);
?>
<?
if($class=='b') $class='w';
else $class = 'b';
}
?>
<?
//include("connect.php");
// Open de directory met de plaatjes (orrigineel heb ik dit geschreven om mp3's te herkennen "taguan")
if ($handle = opendir($leadon)) {
//Zolang er bestanden in de directory staan (true) lees deze uit
// en gooi ze in de $file variabele
while (false !== ($file = readdir($handle))) {
// controleer of de extentie jpg, png of gif is.
if (substr(strtolower($file),-3) == 'jpg' || substr(strtolower($file),-4) == 'jpeg' ||
substr(strtolower($file),-3) == 'png' || substr(strtolower($file),-3) == 'gif') {
// maak een link.
echo "<td><a href='".$leadon."$file' target='_self'><img src='klein/".$leadon."$file' ></a></td><td> </td>";
$nr = $nr + 1 ;
if ($nr == 5) {
$nr = 0 ;
echo "</tr><tr>";
}
}
if (substr(strtolower($file),-3) == 'mp3' || substr(strtolower($file),-3) == 'wma' || substr(strtolower($file),-3) == 'avi' || substr(strtolower($file),-3) == 'mpg' || substr(strtolower($file),-4) == 'mpeg' || substr(strtolower($file),-3) == 'wmv') {
echo "<td><a href='".$leadon."$file' target='_self' border='0'><img src='/klein/mp3.gif' width='50' height='50'>$file</a><br>";
$nr = $nr + 1 ;
if ($nr == 5) {
$nr = 0 ;
echo "</tr><tr>";
}
}
}
// Sluit de directory.
closedir($handle);
}
?>
</p>
</body>
</html>
Sorry voor de warrige code soms :-) ik ben er nog aan het werken
knop om je tekst aan te passen.