de titel zonder .txt weergeven
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function compare($a,$b) {
return $b[1] - $a[1];
}
$dir='../nieuws';
$max=3;
$files=Array();
$f=opendir($dir);
while (($file=readdir($f))!==false) {
if(is_file("$dir/$file")) {
$files[]=Array($file,filemtime("$dir/$file"));
}
}
closedir($f);
usort($files,"compare");
$m=min($max,count($files));
for ($i=0;$i<$m;$i++) {
echo "<h1>{$files[$i][0]}\n</h1>";
include "{$files[$i][0]}";
}
?>
function compare($a,$b) {
return $b[1] - $a[1];
}
$dir='../nieuws';
$max=3;
$files=Array();
$f=opendir($dir);
while (($file=readdir($f))!==false) {
if(is_file("$dir/$file")) {
$files[]=Array($file,filemtime("$dir/$file"));
}
}
closedir($f);
usort($files,"compare");
$m=min($max,count($files));
for ($i=0;$i<$m;$i++) {
echo "<h1>{$files[$i][0]}\n</h1>";
include "{$files[$i][0]}";
}
?>
en nu wil ik dat hij de titel zodenr de txt van het tekstbestaan laat zien.
Ik krijg het niet voor elkaar :(
Iemand een oplossing?
dan hoef je ook niet van die rara fratsen uit te halen
"Ik krijg het niet voor elkaar :("
Indien gij dan zoekt op http://www.php.net, had gij kunnen vinden
http://nl3.php.net/pathinfo
je script is ook nog eens zo lek als een mandje! Je dient beter te controleren en valideren op hetgeen je gaat includen in dit geval
Gewijzigd op 27/08/2010 22:22:10 door Noppes Homeland
Ik zie trouwens niet wat er lek is aan dit script. Het is niet erg netjes, en je zou het kunnen misbruiken wanneer er ergens anders nog een lek in je site zit (waarbij je dit script aan kan roepen met een andere working directory) maar dat is wat ver gezocht.
Gewijzigd op 28/08/2010 01:27:35 door Jelmer -
readfile i.p.v. include.
Nou, er wordt gesproken over '.txt'. Dat is zeker geen PHP, gebruik dan ook Code (php)
1
2
3
2
3
Warning: include(nieuws.txt) [function.include]: failed to open stream: No such file or directory in F:\Prive\server2go\htdocs\1\main.php on line 23
Warning: include() [function.include]: Failed opening 'nieuws.txt' for inclusion (include_path='.;F:\Prive\server2go\server\php\PEAR') in F:\Prive\server2go\htdocs\1\main.php on line 23
Warning: include() [function.include]: Failed opening 'nieuws.txt' for inclusion (include_path='.;F:\Prive\server2go\server\php\PEAR') in F:\Prive\server2go\htdocs\1\main.php on line 23
Dit is wat ik nu heb:
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
function compare($a,$b) {
return $b[1] - $a[1];
}
$dir='../pag/doc';
$max=6;
$files=Array();
$f=opendir($dir);
while (($file=readdir($f))!==false) {
if(is_file("$dir/$file"))
{
$file2 = basename($file, ".txt");
$files[]=Array($file2,filemtime("$dir/$file"));
}
}
closedir($f);
usort($files,"compare");
$m=min($max,count($files));
for ($i=0;$i<$m;$i++) {
echo "<h1>{$files[$i][0]}</h1>";
include "{$files[$i][0]}.txt";
echo "<br>";
}
?>
function compare($a,$b) {
return $b[1] - $a[1];
}
$dir='../pag/doc';
$max=6;
$files=Array();
$f=opendir($dir);
while (($file=readdir($f))!==false) {
if(is_file("$dir/$file"))
{
$file2 = basename($file, ".txt");
$files[]=Array($file2,filemtime("$dir/$file"));
}
}
closedir($f);
usort($files,"compare");
$m=min($max,count($files));
for ($i=0;$i<$m;$i++) {
echo "<h1>{$files[$i][0]}</h1>";
include "{$files[$i][0]}.txt";
echo "<br>";
}
?>
Gewijzigd op 28/08/2010 12:19:36 door Sander van Viegen
Toevoeging op 28/08/2010 12:25:18:
En gebruik fatsoenlijke syntax.
Niet include "{$files[$i][0]}.txt";
Maar include($files[$i][0] . '.txt');
Hoe kan ik controleren of de lees rechten er voor die bestanden zijn?
is_readable($files[$i][0] . '.txt');
Deze files zijn niet readable, wat kan ik hier aan doen?
om ze wel leesbaar te krijgen?
chmod Lees wel eerst even alle mogelijke opties. En het gebruik van de recht: 777 raad ik je ook af.
Voor de rest, heb je de variablen al buiten de quotes gezet?
Voor de rest, heb je de variablen al buiten de quotes gezet?
Gewijzigd op 30/08/2010 10:42:00 door Niels K
De bestanden chmodden (zie de handleiding van je FTP programma) naar 644 denk ik. Dan zouden ze wel leesbaar moeten zijn voor PHP.
Niels Kieviet op 30/08/2010 10:40:49:
Voor de rest, heb je de variablen al buiten de quotes gezet?
Wat bedoel je hiermee?
Ik heb het een beetje netjes gemaakt: Maar heb je nog nooit gehoord van:
- Overzichtelijk programmeren
- Commentaar bij de code zetten
- Variabelen een naam geven die wat zegt over wat de variabele opslaat of doet?
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
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
<?php
/**
* Functie om blaasblaablaablaa
*
* @param String $a Wat is dit? Betere naamgeving?
* @param String $b Idem voor deze
* @return Mixed
*/
function compare($a,$b)
{
return $b[1] - $a[1];
}
// Dir
$dir = '../pag/doc';
// Maximale files? Appels, peren?
$max = 6;
// Alle files opvangen in Array
$files = Array( );
// Open directory
$f = opendir( $dir ); // Waarom als naam f?
// Directory op files nalopen
while( ( $file = readdir( $f ) ) !== false )
{
// Controleren of resultaten bestanden zijn
if( is_file ( $dir .'/'. $file ) ) // Dit bedoelde ik dus.. ( Variablen uit de quotes )
{
$file2 = basename( $file, '.txt' );
$files[] = Array( $file2, filemtime( $dir.'/'.$file ) ); // Weer variablen uit de quotes gehaald
}
}
// Sluit directory
closedir( $f );
usort( $files, 'compare' );
$m = min( $max, count( $files ) ); // Naam geving
//
for ( $i = 0; $i < $m; $i++ )
{
echo '<h1>'. $files[$i][0] .' </h1>'; // Variablen buiten de quotes
// Bestand importeren
require_once $files[$i][0] .'text'; // Variablen buiten de quotes
echo '<br />'; // Enkel quotes
}
?>
/**
* Functie om blaasblaablaablaa
*
* @param String $a Wat is dit? Betere naamgeving?
* @param String $b Idem voor deze
* @return Mixed
*/
function compare($a,$b)
{
return $b[1] - $a[1];
}
// Dir
$dir = '../pag/doc';
// Maximale files? Appels, peren?
$max = 6;
// Alle files opvangen in Array
$files = Array( );
// Open directory
$f = opendir( $dir ); // Waarom als naam f?
// Directory op files nalopen
while( ( $file = readdir( $f ) ) !== false )
{
// Controleren of resultaten bestanden zijn
if( is_file ( $dir .'/'. $file ) ) // Dit bedoelde ik dus.. ( Variablen uit de quotes )
{
$file2 = basename( $file, '.txt' );
$files[] = Array( $file2, filemtime( $dir.'/'.$file ) ); // Weer variablen uit de quotes gehaald
}
}
// Sluit directory
closedir( $f );
usort( $files, 'compare' );
$m = min( $max, count( $files ) ); // Naam geving
//
for ( $i = 0; $i < $m; $i++ )
{
echo '<h1>'. $files[$i][0] .' </h1>'; // Variablen buiten de quotes
// Bestand importeren
require_once $files[$i][0] .'text'; // Variablen buiten de quotes
echo '<br />'; // Enkel quotes
}
?>
Kan het probleem ook ergens anders aan liggen, dat de content niet weergegeven wordt?
Als ik namelijk de inhoud van het txt bestand wijzig, dan veranderd er niks op de pagina.
ik open de pagina lokaal, hoe kan ik dan chmod toepassen?
Gewijzigd op 31/08/2010 09:47:43 door Sander van Viegen