[php] string probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een klein scriptje gemaakt om bestandsnamen uit een map uit te lezen.
Dit werkt perfect, tot ik ook de grootte van het bestand wil uitlezen via:
code:
1
2
$size = filesize($path.'\'.$entry);
echo $size.'<br>';


ik krijg dan de volgende error:
code:
1
Parse error: parse error, unexpected $end in C:\Program Files\Apache Group\Apache2\htdocs\test\test2.php on line 17


Hier het volledige script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$path = "D:\Robin\cd\cd1";

$d = dir($path); 

while ($entry=$d->read()) 
{ 
    if ((!is_dir($path.$entry)) AND ($entry !== '.') AND ($entry !== '..'))
    { 
        $test=str_replace(" ","%20",$entry);
        echo $entry.'<br>';
        $size = filesize($path.'\'.$entry);
        echo $size.'<br>';
    } 
} 

$d->close();   
?>


Het is alsof hij de '\' niet aanvaard.
Zelfs een echo $path.'\'.$entry; wil hij niet geven.

Wat kan er mis zijn?

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Gebruik eens een / :P

Acties:
  • 0 Henk 'm!

  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Hm ja, en doe dat ook als je $path set, lijkt me dat ie die slashes aanziet als escape chars, of probeer \\ :P

Acties:
  • 0 Henk 'm!

  • reinhrst
  • Registratie: December 2003
  • Niet online
De \ is een escape teken. Dat wil zeggen dat ie \' als een letterlijke ' ziet. Omdat er overal alleen maar letters achter de \ staan in je code gaat dit meestal goed, halve daar dus.

Vervang al je \ door \\ (ook op de plaatsen waar het wel goed gaat - omdat dat mooier is) en dan zou het moeten lukken

Claude


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sinds wanneer moet je een / gebruiken ipv \

In ieder geval bedankt :)

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
reinhrst schreef op 01 mei 2004 @ 11:41:
De \ is een escape teken. Dat wil zeggen dat ie \' als een letterlijke ' ziet. Omdat er overal alleen maar letters achter de \ staan in je code gaat dit meestal goed, halve daar dus.

Vervang al je \ door \\ (ook op de plaatsen waar het wel goed gaat - omdat dat mooier is) en dan zou het moeten lukken
Of je doet simpel en je gebruikt / wat ook de standaard is :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mjah, weeral iets nieuws geleerd als php noob :P

Acties:
  • 0 Henk 'm!

Verwijderd

zmn schreef op 01 mei 2004 @ 11:42:
[...]

Of je doet simpel en je gebruikt / wat ook de standaard is :?
Maar windows moet zo nodig afwijken van deze standaard, en die andere slashes gebruiken :P
Pagina: 1