PHP - check if file exists on a remote server

Posted by Gigaron, 01-16-2008, 03:08 AM
I have my static files duplicated and spread over multiple servers. I have a piece of code to randomly select a number out of 4 where each number is assigned to a different server location. When the user downloads the file it randomly downloads from 1: http://server1.com 2: http://server2.com 3: http://server3.com 4: http://server4.com In the case a server is down or is too slow to respond, is here a way to do a quick check network check, remote file exists check, and/or speed check and thus removing the server out of the pool of 4 random numbers.

Posted by Steve_Arm, 01-16-2008, 04:27 AM
Use php.net/curl functions

Posted by webbo34, 01-17-2008, 09:44 AM
Curl would be the best option, but you can still use "fopen" on a URL. You could also use sockets - "fsockopen" is a good place to start. Webbo

Posted by cygnusd, 01-17-2008, 10:09 AM
From the way I see it, you are load balancing the static file servers. I suggest you to use a high-performance reverse proxy for that job. For me, the best tool suited for that is Perlbal (http://www.danga.com/perlbal/). It has the a good implementation of load balancing and failover.

Posted by Harzem, 01-17-2008, 10:27 AM
Assuming you run PHP , Check the port 80 via "fsockopen". Then, read an example file to see if the server is working. test.php on server1.com: And test it via your central server:

Ha estat útil la resposta?

 Imprimeix aquest Article

Llegir també

How can I fix this?

Posted by TylerH, 09-18-2008, 06:06 AMFor some reason my sendmail is not working and I tired...

VMWare IIS and SSL mystry

Posted by WebGuru72, 07-18-2007, 12:58 AMHello All, I have a very weird problem, I have a...

.htaccess problem

Posted by londonhogfan, 09-23-2008, 02:05 AMhi, I'm having quite a problem with my site on...

How-To: PHP bbCode Function // Intermediate

Posted by JustinSmall, 09-21-2008, 03:49 PMIt wouldn't let me post this is the tutorial section,...

MySQL SELECT using WHERE and OR

Posted by HostRefugee-Vince, 03-23-2007, 08:47 PMHi, The following SELECT statement is giving...