I simply do this $file="/home/images/index.html"; $output = fopen($file, "w"); -----Original Message----- From: news [mailto:news@xxxxxxxxxxxxx] On Behalf Of Colin Guthrie Sent: Monday, November 05, 2007 4:06 AM To: php-general@xxxxxxxxxxxxx Subject: Re: How do I specify a local file for fopen()? Jon Westcot wrote: > Hi all: > > I've been beating my head against a brick wall trying to figure this > out and I'm still no closer than I was two weeks ago. > > How do I specify a local file on my computer to use with fopen() on > the server? Keep on beating it until you get the concept of client-server computing :p There is no standard way a webserver can access information on the client's computer. Enabling this kind of interaction would be a complete no-no from a security perspective and it would also require that a channel be opened *from* the server *to* the client (which is the opposite way round - e.g. the client becomes a server and the server becomes a client! > I've checked and the allow_url_fopen setting is set to On. I use the > html <input type="file"> to let me browse to the file. This, > however, forces me to also POST the entire file to the server, which > I DO NOT WANT it to do. I just wanted to be able to use the <Browse> > button to get to the file name. But, even when I do this, the file > name returned in the $_FILES array doesn't give me a file name that > fopen() will actually open. This is how you send files to the webserver. If you want the server to access the files on the client then you have to either send them or provide some way for the client to become a server in some capacity through the running of a local application (or Java Applet), and then you have to make sure you can negotiate any firewall and NAT'ed gateways that may be inbetween! > Do I somehow have to get the server to recognize my computer as an > http-based address? If so, how do I do this? The computer that has > the file to be opened is a Windows-based computer (running WinXP or > Vista), and it obviously has an Internet connection. Do I need to > retrieve, from the server, my computer's IP address and use that, in > whole or in part, to reference the file to be opened? If so, how? It's one of the ways, or you could just setup the client to do a samba share and mount it on the server, or any number of other techniques. Obviously this architecture only has legs in a very locked down and standard environment - it's no good for the open internet. > While I'm asking questions, does anyone know how to keep the file > referenced in the <input type="file"> setup from actually being sent? > All I think I really need is the NAME of the file, not its actual > contents, since I'm hoping to use fopen() to open the file and then > to use fgetcsv() to retrieve the contents. The name gives you nothing, as there is no way to hook back to the client! You're approach is fundamentally wrong. > ANY help you all can send my way will be greatly appreciated! Depending what you want your app to do you need to look at running something locally on the client. One method that spring to mind would be a Java applet that can run load up the local files and then manipulate them accordingly, potentially speaking to webservices provided by your server in the process. Col -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php