ID: 43148
User updated by: banu_daniel1 at yahoo dot com
Reported By: banu_daniel1 at yahoo dot com
Status: Open
Bug Type: Filesystem function related
Operating System: windows xp 32 bits
PHP Version: 5.2.4
New Comment:
$dirs = glob('"D:/Downloads/*', GLOB_ONLYDIR);
print_r($dirs);
result is
Array ( )
Previous Comments:
------------------------------------------------------------------------
[2007-11-01 20:59:12] carsten_sttgt at gmx dot de
> print_r(glob("D:\Downloads\動之家發佈\
> ハヤテのごとく01\
> DVD_VIDEO.MDS"));
Sorry, I was not clear enought... Don't provide a parameter to glob().
Just look what glob() returns:
| $dirs = glob('"D:/Downloads/*', GLOB_ONLYDIR);
And now analyse the array $dirs. The value of one of the keys must be
the directory "D:/Downloads/動之家發佈",
and look how this directory is stored in the array.
Regards,
Carsten
------------------------------------------------------------------------
[2007-11-01 19:54:39] banu_daniel1 at yahoo dot com
and again all characters are converted in html code
------------------------------------------------------------------------
[2007-11-01 19:53:40] banu_daniel1 at yahoo dot com
results:
files dose not exist
Array ( )
Warning: dir(D:\Downloads\動之家發佈)
[function.dir]: failed to open dir: No such file or directory in
C:\WWW\test2.php on line 7
Handle: Path:
Fatal error: Call to a member function read() on a non-object in
C:\WWW\test2.php on line 10
------------------------------------------------------------------------
[2007-11-01 19:51:53] banu_daniel1 at yahoo dot com
i've don this
<?
if
(file_exists("D:\Downloads\動之家發佈\ハヤテのごとく01\DVD_VIDEO.MDS"))
echo "ok";
else echo "files dose not exist<br>\n";
print_r(glob("D:\Downloads\動之家發佈\ハヤテのごとく01\DVD_VIDEO.MDS"));
//exemple from help
$d = dir("D:\Downloads\動之家發佈");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."<br>\n";
}
$d->close();
?>
------------------------------------------------------------------------
[2007-10-31 23:45:38] carsten_sttgt at gmx dot de
> this is the hex value 453A456D696C7961FA436861642E6D7067
Well, this HEX looks like ISO-8859-1 and not UTF-8:
453A456D696C7961FA436861642E6D7067
E : E m i l y a ú C h a d . m p g
(The char between Emilya and Chad is a latin small letter u with
acute)
> if (file_exists("E:\Emilya·Chad.mpg")) echo "ok" and is not working.
In this string we have (in UTF-8):
453A5C456D696C7961C2B7436861642E6D7067
E : \ E m i l y a · C h a d . m p g
(or in ISO-8859-1):
453A5C456D696C7961B7436861642E6D7067
E : \ E m i l y a · C h a d . m p g
(The char between Emilya and Chad is a middle dot)
This works here:
<?php
$name = 'Emilya·Chad.mpg';
touch($name);
echo filesize($name);
?>
What's the codepage/language of your system?
What's the result (filename) if you use glob() or the directory class
dir()?
Regards,
Carsten
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/43148
--
Edit this bug report at http://bugs.php.net/?id=43148&edit=1