Re: Problems accessing the net units through PHP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

-----Original Message-----
From: German Piqué [mailto:extremdur2@xxxxxxxxx] Sent: 13 September 2006 08:25 AM
To: php-windows
Subject:  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 COM to talk to the FileSystemObject because that supports both mapped network drives and UNC file paths. If you need binary access (which FSO does not support) you can use the stream objects from ADODB as long as you have version 2.5 or above(again, access from COM).

I wrote how to do the ADODB thing (though in javascript - but the principle is the same) in the deployview blog:

http://deployview.com/blog/2006/07/dumpster-diving-with-scripts.html

Please remember to only create a COM 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

--
www.deployview.com
www.nerds-central.com
www.project-network.com

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux