laatste 10 bestanden tonen.
ik gebruik volgend script om bestanden te tellen.
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
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
<?php
$map = 'inschrijvingen/'; // Verander hier de map
$handle = opendir($map);
$aantalbestanden = 0;
while (($b = readdir($handle)) !== false) {
if(!is_dir($map.$b) && $b != "." && $b != "..") {
$aantalbestanden++;
echo "<iframe name=I1 id=I1 src=inschrijvingen/".$aantalbestanden.".html height=400 width=700></iframe><br>";
}
}
closedir($handle);
?>
echter wil ik alleen de laatste 10 bestanden tonen.
hoe stel ik dit in?
de bestanden worden aangemaakt elders, en in bovengenoemde map geplaatst.
1.html
2.html
3.html
4.html
......
101.html
wie weet wat ik bedoel?
$map = 'inschrijvingen/'; // Verander hier de map
$handle = opendir($map);
$aantalbestanden = 0;
while (($b = readdir($handle)) !== false) {
if(!is_dir($map.$b) && $b != "." && $b != "..") {
$aantalbestanden++;
echo "<iframe name=I1 id=I1 src=inschrijvingen/".$aantalbestanden.".html height=400 width=700></iframe><br>";
}
}
closedir($handle);
?>
echter wil ik alleen de laatste 10 bestanden tonen.
hoe stel ik dit in?
de bestanden worden aangemaakt elders, en in bovengenoemde map geplaatst.
1.html
2.html
3.html
4.html
......
101.html
wie weet wat ik bedoel?
Even uit het hoofd en zonder fout afhandeling.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$files = glob('inschrijvingen/*.html');
$file_count = count($files);
$last_ten = array_slice($files, -10, 10);
foreach($last_ten as $file){
echo '<iframe name="I1" id="I1" src="'.$file.'" height="400" width="700"></iframe><br>';
}
?>
$files = glob('inschrijvingen/*.html');
$file_count = count($files);
$last_ten = array_slice($files, -10, 10);
foreach($last_ten as $file){
echo '<iframe name="I1" id="I1" src="'.$file.'" height="400" width="700"></iframe><br>';
}
?>
Gewijzigd op 24/07/2012 16:24:12 door - Mark -
De laatst toegevoegde? De laatst gewijzigde?
Gewijzigd op 24/07/2012 16:26:05 door - Ariën -
filemtime() kan je de laatste wijzigtijd krijgen.
Zet die als key in een array (met value de bestandsnaam) en gebruik een sort($array, NUMERIC) om te sorteren.
Met Zet die als key in een array (met value de bestandsnaam) en gebruik een sort($array, NUMERIC) om te sorteren.
dus eigenlijk de hoogte 10 nummers.
de files worden opgeslagen als
1.html
2.html
3.html
tot en met 150 .html bevoorbeeld.
in dit geval wil ik enkel de nummers 140-150 tonen.
dus zoals Aar al noemt de laatst toegevoegde.
natsort() erover. Klaar.
Toevoeging op 24/07/2012 17:49:28:
Dus:
Geeft:
1.html
2.html
5.html
125.html
128.html
...
149.html
150.html
Etc.
Toevoeging op 24/07/2012 17:49:28:
Dus:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$files = glob("inschrijvingen/*.html");
natsort($files);
$files = array_slice($files, 0, 10);
echo implode(PHP_EOL, $files);
?>
$files = glob("inschrijvingen/*.html");
natsort($files);
$files = array_slice($files, 0, 10);
echo implode(PHP_EOL, $files);
?>
Geeft:
1.html
2.html
5.html
125.html
128.html
...
149.html
150.html
Etc.
Gewijzigd op 24/07/2012 17:50:04 door Eddy E
yep maar wil alleen de laatste 10.....
Was niet zo moeilijk uit te vinden op php.net/array_slice.... ;-)
Kijk voortaan ook eens op php.net
Gewijzigd op 24/07/2012 19:14:20 door - Ariën -
Dan nog een vraagje..
hoe krijg ik dit nu in een marquee dat hij de 5 files laat zien in een marquee scherm?
op dit moment maakt u 5 marquee schermen, echter wil ik ze in een scherm.
dus dat hij de laatste 5 voorbij laat scrollen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
$files = glob('inschrijvingen/*.html');
$file_count = count($files);
$last_ten = array_slice($files, -5, 5);
foreach($last_ten as $file){
echo "<table width=400 height=400><tr><td><marquee direction=up><iframe name=I1 id=I1 border=0 frameborder=0 scrolling=no src=".$file." height=350 width=700></iframe></marquee></td></tr></table>";
}
?>
$file_count = count($files);
$last_ten = array_slice($files, -5, 5);
foreach($last_ten as $file){
echo "<table width=400 height=400><tr><td><marquee direction=up><iframe name=I1 id=I1 border=0 frameborder=0 scrolling=no src=".$file." height=350 width=700></iframe></marquee></td></tr></table>";
}
?>
En waarom gebruik je iframes, je haalt het notabene op van je eigen server, dus file_get_contents() of include() (indien het text is) kan ook gekunt.
Gewijzigd op 25/07/2012 11:35:22 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$files = glob('inschrijvingen/*.html');
$file_count = count($files);
$last_ten = array_slice($files, -5, 5);
echo "<table width=400 height=400><tr><td><marquee direction=up>";
foreach($last_ten as $file){
echo "<iframe name=I1 id=I1 border=0 frameborder=0 scrolling=no src=".$file." height=350 width=700></iframe>";
}
echo "</marquee></td></tr></table>";
?>
$files = glob('inschrijvingen/*.html');
$file_count = count($files);
$last_ten = array_slice($files, -5, 5);
echo "<table width=400 height=400><tr><td><marquee direction=up>";
foreach($last_ten as $file){
echo "<iframe name=I1 id=I1 border=0 frameborder=0 scrolling=no src=".$file." height=350 width=700></iframe>";
}
echo "</marquee></td></tr></table>";
?>
Gewijzigd op 25/07/2012 11:34:31 door Q S
en die moeten worden getoond op de frontpage.
Ben bezig met een klein profielenscriptje.
alz ik er klaar mee ben zal ik het hier neerzetten.
@ Q S
Je bent geweldig..
dat ik daar overheen gekeken heb.. haha
dankjewel
Voor de marquee is een jQuery alternatief wel voorhanden.
Gewijzigd op 25/07/2012 11:46:14 door - Ariën -
Mij is echter altijd verteld (wijsgemaakt??) dat in html " gebruikt dient te worden, dus:
Zal beide werken, maar wat is nu goed?
Dat laatste, als we naar de syntax kijken.
Ik vind het er anders echt vies uit zien.
Code (php)
1
2
2
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 2.0 7.2 1.2
Basic support 1.0 1.0 (1.7 or earlier) 2.0 7.2 1.2
zal misschien op sommige browsers nog wel werken maar ik zou je website gelijk wegklikken als ik zag dat je zulke dingen nog gebruikt.. ( even advies )
bron: https://developer.mozilla.org/en/HTML/Element/marquee
Gewijzigd op 25/07/2012 12:22:01 door Reshad F
Als het dan toch om HTML gaat, gewoon file_get_contents gebruiken!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$aantal = 5;
$files = glob('inschrijvingen/*.html');
natsort(files);
$files = array_slice($files, (0 - $aantal), $aantal);
foreach($files as $file)
{
echo '<section class="user_html">';
echo file_get_contents($file);
echo '</section>';
}
?>
$aantal = 5;
$files = glob('inschrijvingen/*.html');
natsort(files);
$files = array_slice($files, (0 - $aantal), $aantal);
foreach($files as $file)
{
echo '<section class="user_html">';
echo file_get_contents($file);
echo '</section>';
}
?>
Gewijzigd op 25/07/2012 15:13:11 door Eddy E
nu rest mij nog een probleem..
Hoe kan ik een variable wegschrijven, zodat deze later weer opgehaald kan worden zonder database?
Ja ik weet database is beter maar daar ga ik later pas aan.
ik wil het emailadres wegschrijven in de file die gemakt word bij een inschrijving.
ik dacht zo, maar dan vind ik alleen het emailadres terug in de file, maar niet als variable.