Problems accessing the net units through PHP
1 answers - 2573 bytes -

Dale Attree wrote:
PHP on windows does not support mapped network drives, you would need to use
sockets and connect to the IP of the machine you wish to write to.
Message
From: German P [mailto:extremdur2 (AT) gmail (DOT) com]
Sent: 13 September 2006 08:25 AM
To: php-windows
Subject: [PHP-WIN] Problems accessing the net units through PHP
Well, first of all i want to apologise for my poor english.
My problem is that I have problems accessing net mounts on windows. For
example, if R: is a unit attatched from the internal net and I try to access
it, I get error. The following code is what I'm trying to do to test the
access:
echo "<a href='" . $filename2 . "'arxiu </a><br>";
if($error=basename($filename2)) echo $error . ": basename<br>";
else echo $error . ": basename<br>";
if($error=disk_free_space('G:')) echo $error . " G: free space<br>";
else echo $error . " G: There isn't free space<br>";
if($error=copy($filename2,'.')) echo "Copy successfull<br>";
else echo $error . " Copy successless<br>";
if($error=is_readable($filename2)) echo "Read successfull<br>";
else echo $error . ": The file cannot be readed<br>";
if($error=file_exists($filename2)) echo "File Exists<br>";
else echo $error . ": The file doesn't exists<br>";
$filename2 is the path to a file in a net mount.
and the output is:
loss_of_supervision: basename
G: There isn't free space
Copy successless
: The file cannot be readed
: The file doesn't exists
I try the same code with C: unit and a file inside it and works fine
There's some kind of bug or it's my server's configuration that is wrong?
An alternative is to use CM to talk to the FileS because
that supports both mapped network drives and UNC file paths. If you
need binary access (which FS does not support) you can use the stream
objects from ADDB as long as you have version 2.5 or above(again,
access from CM).
I wrote how to do the ADDB thing (though in javascript - but the
principle is the same) in the deployview blog:
Please remember to only create a CM object once per session (ie at the
top of the script) as creating them is expensive. If you have a lot of
threads trying to create them, the lookup functions into the registry
seem to become a bottle neck.
Cheers
AJ