trim
Ik krijg het niet voor elkaar om de eerste 3 tekens en de laatste vier tekens weg te trimmen...
Heeft iemand een zetje in de goede richting???
Heeft iemand een zetje in de goede richting???
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
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
<?php
$dir = "./images/me/"; #uitlees dir
$exten = 'jpg'; #extenties
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if($ext['extension'] == $exten)
for ($cnt = 0; $cnt > count($file); $cnt+0 )
{
echo "<img src=' $dir".$file."' border='1'><br>" ;
echo "<span class='normal'>".trim($file, " .jpg")."</span>";
echo "<br><br>";
}
}
if (empty($handle))
{
echo "No pictures available";
}
closedir($handle);
}
?>
$dir = "./images/me/"; #uitlees dir
$exten = 'jpg'; #extenties
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if($ext['extension'] == $exten)
for ($cnt = 0; $cnt > count($file); $cnt+0 )
{
echo "<img src=' $dir".$file."' border='1'><br>" ;
echo "<span class='normal'>".trim($file, " .jpg")."</span>";
echo "<br><br>";
}
}
if (empty($handle))
{
echo "No pictures available";
}
closedir($handle);
}
?>
trim() is in principe een functie waarmee je overbodige spaties weghaalt. Je kunt echter zelf karakters definiëren, maar zo te zien is dat niet wat jij wilt.
Als ik je goed begrijp wil jij de extensie van een bestandsnaam afhalen?
Ik weet niet waaruit de eerste 3 karakters bestaan, maar de laatste 4 is steeds iets als .bmp of .jpg dus. Omdat de punt steeds de naam van het bestand scheidt van de extensie, kun je daarop de functie explode() toepassen:
explode($file, $stukjes);
print_r($stukjes);
De eerste 3 kan je vervolgens weghalen met substr en misschien strrev denk ik, maar het is al laat :)
Als ik je goed begrijp wil jij de extensie van een bestandsnaam afhalen?
Ik weet niet waaruit de eerste 3 karakters bestaan, maar de laatste 4 is steeds iets als .bmp of .jpg dus. Omdat de punt steeds de naam van het bestand scheidt van de extensie, kun je daarop de functie explode() toepassen:
explode($file, $stukjes);
print_r($stukjes);
De eerste 3 kan je vervolgens weghalen met substr en misschien strrev denk ik, maar het is al laat :)
Eerste 3 en laatste 4 weg:
Ik krijg deze error:
Fatal error: Cannot redeclare my_trim() (previously declared in D:\Website\www\pics.php:62) in D:\Website\www\pics.php on line 62
Fatal error: Cannot redeclare my_trim() (previously declared in D:\Website\www\pics.php:62) in D:\Website\www\pics.php on line 62
Het voorbeeld van Jan is een functie, die moet je dus als volgt gebruiken...
Bovenstaand is ook een voorbeeld, je kunt natuurlijk ook met variabelen werken ;)
Code (php)
Bovenstaand is ook een voorbeeld, je kunt natuurlijk ook met variabelen werken ;)
De eerste file laat hij juist zien, de 2e komt de volgende error erbij:
Fatal error: Cannot redeclare my_trim() (previously declared in D:\Website\www\pics.php:62) in D:\Website\www\pics.php on line 62
De rest van de 10 foto's laat hij niet zien. Wat doe ik nou fout???
Fatal error: Cannot redeclare my_trim() (previously declared in D:\Website\www\pics.php:62) in D:\Website\www\pics.php on line 62
De rest van de 10 foto's laat hij niet zien. Wat doe ik nou fout???
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
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
<?php
$dir = "./images/me/"; // de directory die hij uit moet lezen
$exten = 'jpg';
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if($ext['extension'] == $exten)
{
echo "<img src=' $dir".$file."' border='1'><br>" ;
function my_trim ($str) {
$len = strlen ($str);
if ($len < 8) return $str;
$substr_len = $len - 7;
return substr ($str, 3, $substr_len);
}
echo "<span class='normal'>".my_trim($file)."</span>";
echo "<br><br>";
}
}
if (empty($handle))
{
echo "No pictures available";
}
closedir($handle);
}
?>
$dir = "./images/me/"; // de directory die hij uit moet lezen
$exten = 'jpg';
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle))) {
$bestand = $dir ."/". $file ;
$ext = pathinfo($bestand);
if($ext['extension'] == $exten)
{
echo "<img src=' $dir".$file."' border='1'><br>" ;
function my_trim ($str) {
$len = strlen ($str);
if ($len < 8) return $str;
$substr_len = $len - 7;
return substr ($str, 3, $substr_len);
}
echo "<span class='normal'>".my_trim($file)."</span>";
echo "<br><br>";
}
}
if (empty($handle))
{
echo "No pictures available";
}
closedir($handle);
}
?>
Een functie kan je maar 1 keer aanmaken.
De functie moet je boven je document ergens zetten (of in een apart bestand includen voor om ergens anders ook nog eens te gebruiken.
Daarna kan je hem aanroepen zoals je al doet:
my_trim($file);
Maar een functie moet je dus niet in een loop zetten, dat gaat mis.
De functie moet je boven je document ergens zetten (of in een apart bestand includen voor om ergens anders ook nog eens te gebruiken.
Daarna kan je hem aanroepen zoals je al doet:
my_trim($file);
Maar een functie moet je dus niet in een loop zetten, dat gaat mis.
Cool... thx voor de tip... hij doet het :D jeeeeeej
Is er ook een mogelijkheid om hem te laten kijken naar meerdere extenties als alleen jpg??
Je hebt zo te zien de oplossing van Jan gebruikt, maar die kijkt niet naar extensies, die kort gewoon in.
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Oh, denk dat ik het niet goed uitgelegt heb... hij moet naar meerdere extenties kijken in de directory... en niet alleen naar de jpg:




