kolommen in negatieve volgorde
Het script hieronder is een gedeelte van een fotoboek. Hier wordt een foto geshowd, met daaronder een slideshow van tumbnails.
Het probleem zit m in het stukje code waarin ik de 'vorige' thumbnails wil laten zien. Eigenlijk gaat dat best goed, ik doe precies zoals het moet één minder, zodat inderdaad de vorige foto, als die bestaat, weergegeven wordt.
Alleen is nu de volgorde, met als zichtbare foto nummer 0:
-1 -2 -3 0 1 2 3 en dit moet worden: -3 -2 -1 0 1 2 3. Ik moest eigenlijk de volgorde waarin ik de html kolommen maak, kunnen omdraaien.
Ter verduidelijking: zie code: regel nr. 30-39
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
function show_img ( $directory, $ext, $thumb, $slide ) {
// Array van alle images
$images = get_img ( $directory, $ext, $thumb );
$slide = 5;
$thumb_size = max ( getimagesize ( $directory."/".$thumb."/".$_GET['View'] ) ) ;
// Tabel maken
$html = "\n<!-- Start of Automatic Filled Table -->\n<center>\n<table>\n";
// 1 Foto met Thumb-Slide-Show creeren
if ( isset ( $_GET['View'] ) && file_exists ( $directory."/".$_GET['View'] ) ) {
// Grote foto laten zien in tabel, 1e rij, 1e kolom
$count = array_keys ( $images , $_GET['View'] );
$html .= "<tr><center><div>";
if ( array_key_exists ( $count[0], $images ) ) {
$html .= "<img height=\"200\" width=\"200\" src=\"".$directory."/".$images[$count[0]]."\" title=\"".$directory."/".$images[$count[0]]."\"/>";
} else {
$html .= " ";
}
$html .= "</div></center></tr><tr>";
// 1 BACK
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
// END
// THIS
$html .= "<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count = array_keys ( $images , $_GET['View'] );
if ( array_key_exists ( $count[0], $images ) ) {
$html .= "<img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/>";
} else {
$html .= " ";
}
$html .= "</td>";
// END
// 1 NEXT
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .= "<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]++;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
//$count[0]--;
} else {
$html .= " ";
//$count[0]--;
}
$html .= "</td>";
}
// END
$html .="</tr>";
} else {
// Thumbs met link maken
foreach ( $images as $image ) {
if ( !file_exists ( $directory."/".$thumb . "/" . $image ) ) {
img_resize( $width = 90, $height = 90 , $image = $image, $path = $thumb );
}
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$image."\"><img src=\"". $directory."/".$thumb ."/". $image."\" title=\"". $directory."/".$thumb ."/". $image ."\"/></a>\n";
}
// End of Thumbs met link maken
}
// tabel afmaken
$html .= "</table>\n</center>\n<!-- End of Automatic Filled Table -->\n\n";
return $html;
}
?>
function show_img ( $directory, $ext, $thumb, $slide ) {
// Array van alle images
$images = get_img ( $directory, $ext, $thumb );
$slide = 5;
$thumb_size = max ( getimagesize ( $directory."/".$thumb."/".$_GET['View'] ) ) ;
// Tabel maken
$html = "\n<!-- Start of Automatic Filled Table -->\n<center>\n<table>\n";
// 1 Foto met Thumb-Slide-Show creeren
if ( isset ( $_GET['View'] ) && file_exists ( $directory."/".$_GET['View'] ) ) {
// Grote foto laten zien in tabel, 1e rij, 1e kolom
$count = array_keys ( $images , $_GET['View'] );
$html .= "<tr><center><div>";
if ( array_key_exists ( $count[0], $images ) ) {
$html .= "<img height=\"200\" width=\"200\" src=\"".$directory."/".$images[$count[0]]."\" title=\"".$directory."/".$images[$count[0]]."\"/>";
} else {
$html .= " ";
}
$html .= "</div></center></tr><tr>";
// 1 BACK
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
// END
// THIS
$html .= "<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count = array_keys ( $images , $_GET['View'] );
if ( array_key_exists ( $count[0], $images ) ) {
$html .= "<img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/>";
} else {
$html .= " ";
}
$html .= "</td>";
// END
// 1 NEXT
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .= "<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]++;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
//$count[0]--;
} else {
$html .= " ";
//$count[0]--;
}
$html .= "</td>";
}
// END
$html .="</tr>";
} else {
// Thumbs met link maken
foreach ( $images as $image ) {
if ( !file_exists ( $directory."/".$thumb . "/" . $image ) ) {
img_resize( $width = 90, $height = 90 , $image = $image, $path = $thumb );
}
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$image."\"><img src=\"". $directory."/".$thumb ."/". $image."\" title=\"". $directory."/".$thumb ."/". $image ."\"/></a>\n";
}
// End of Thumbs met link maken
}
// tabel afmaken
$html .= "</table>\n</center>\n<!-- End of Automatic Filled Table -->\n\n";
return $html;
}
?>
Ik hoop dat het duidelijk is, anders hoor ik het graag!
Gewijzigd op 01/01/1970 01:00:00 door Mark moes
Functie get_image kan je deze bv. posten.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function get_img ( $directory, $ext, $thumb ) {
$images = array();
foreach ( open_dir ( $directory, $thumb ) as $file ) {
if ( !is_dir ( $directory."/".$file ) ) {
$file = strtolower ( $file ) ;
list( $file_dirname , $file_basename , $file_extension , $file_type )= array_values ( pathinfo ( $file ) );
if ( in_array ( $file_extension, $ext ) ) {
$images[] .= $file;
}
}
}
return $images;
}
?>
function get_img ( $directory, $ext, $thumb ) {
$images = array();
foreach ( open_dir ( $directory, $thumb ) as $file ) {
if ( !is_dir ( $directory."/".$file ) ) {
$file = strtolower ( $file ) ;
list( $file_dirname , $file_basename , $file_extension , $file_type )= array_values ( pathinfo ( $file ) );
if ( in_array ( $file_extension, $ext ) ) {
$images[] .= $file;
}
}
}
return $images;
}
?>
Is tie dan, maar ik denk niet dat het daar in zit. Wat er gebeurt is dat ik doormiddel van een for loop gegevens, dus de images, in een tabel zet.
Alleen moet ik de eerste kolommen in omgekeerde volgorde neerzetten.
Ik creeer dus een kolom met een thumbnail er in, en dat zijn dus de thumbnails om de grote foto heen, de volgende(n) en de vorige(n).
Zoals het nu gaat is dit:
foto 0 is gegeven. Ik wil er 4 andere thumbs omheen zetten.
wordt dus: -1 -2 0 1 2
Het moet worden:
-2 -1 0 1 2
Het script werkt het dus netjes, zoals het hoort, van links naar rechts af,
maar voor de eerste thumbnails moet het juist andersom.
Ik wil niet de 2 buitenste kolommen handmatig aanmaken, het moet zo variabel mogelijk blijven.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
[/code]
Moet dan worden (met twijfel over de '=')
[code]
[code]<?php
for ( $i=0; $i >= ($slide-1)/2; $i-- ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
[/code]
for ( $i=0; $i < ($slide-1)/2; $i++ ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
[/code]
Moet dan worden (met twijfel over de '=')
[code]
[code]<?php
for ( $i=0; $i >= ($slide-1)/2; $i-- ) {
$html .="<td height=\"".$thumb_size."\" width=\"".$thumb_size."\">";
$count[0]--;
if ( array_key_exists ( ( $count[0] ), $images ) ) {
$html .= "<a href=\"?Page=Photobook&&Album=".$_GET['Album']."&&View=".$images[$count[0]]."\"><img src=\"".$directory."/".$thumb."/".$images[$count[0]]."\" title=\"".$directory."/".$thumb."/".$images[$count[0]]."\"/></a>";
} else {
$html .= " ";
}
$html .= "</td>";
}
[/code]
Gewijzigd op 01/01/1970 01:00:00 door steen
Nog een poging mezelf te verduidelijken:
In de loop wordt een kolom gecreeerd, met het item er in. Het probleem is dat de eerste kolom in de loop links wordt gecreeerd, en de daaropvolgende(n) aan de rechterkant daarnaast. Net zoals dat we schrijven: van links naar rechts.
Dit moet nu juist andersom. Dus inplaats van dat de eerste kolom in de loop links begint, moet die rechts beginnen, en de daaropvolgenden aan de linkerkant er naast.