RE: [PHP] unexpected include parse error

From: Date: Tue, 27 Jan 2004 11:30:47 +0000
Subject: RE: [PHP] unexpected include parse error
Groups: php.general 
Request: Send a blank email to php-general+get-175888@lists.php.net to get a copy of this message
On 27 January 2004 05:50, Paul Furman wrote: > Shawn McKenzie wrote: > > I've noticed in both of your posts that you aren't terminating the > > line before the include with a ; > > Yup, thanks! > > Then I fixed my global problem without bugging you guys too. Actually, no you didn't -- you just bypassed it. > Final result: > > > #call.php > $dirstr= "./"; > include 'scandir.php'; > scandir('$dirstr'); Becasue single-quoted strings don't do variable interpolation, you are actually passing the literal string '$dirstr' to the function -- no the *value* of $dirstr, which is what you want. If you needed to use quotes here, they should be double ones -- but, actually, you don't need quotes at all: since what you really you want is the value of $dirstr, this will do the trick: scandir($dirstr); > #scandir.php > function scandir($dirstr) { Well, now this $dirstr will be set to '$dirstr', which clearly isn't a valid directory path! > global $dirstr; #I HAD TO ADD THIS LINE ALSO But you've now bypassed that by equivalencing it to the global version of $dirstr, which, of course, still contains './', so the rest of the function works. Once you take the quotes off the function call above, you also won't need this global statement. > $files = array(); > $fh = opendir($dirstr); > while (false !== ($filename = readdir($fh))) { > array_push($files, $filename); > } > closedir($fh); > return $files; > } > > > FYI... > > If you use / then you don't have to escape it like // only the \. > > Also, instead of ".\\" you can use '.\' Actually, no you can't, because in single quoted strings \' is the sequence to insert a single quote! So you still ahve ti use '.\\'. Cheers! Mike --------------------------------------------------------------------- Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning & Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: m.ford@leedsmet.ac.uk Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211

« previous php.general (#175888) next »