Search code examples
phpcurldrupaldrupal-7file-exists

The right way to check if a file exists in php using localhost


I need to check if http://localhost/filname.php exists. I have to use localhost so that the server checks for the file itself instead of going out to the proxy to look for the file.

If the file exists in the directory:

  • if(file_exists($hostname_url)) resolves to false
  • curl successfully gets the file and prints out the contents I expect.
  • wget gets the file

If the file doesn't exist:

  • if(file_exists($hostname_url)) resolves to false.
  • curl attempts to get the headers to see if the file exists never ends and spawns until apache chokes.
  • curl attempts to get the file never fails and spawns until apache chokes
  • wget sits forever waiting for response

I need a way to check if the file exists and only act if it does and I am stuck. I am working on a drupal site so I have no idea if the problem is just php, or php + drupal situation


Solution

  • Your way is correct, just use DRUPAL_ROOT:

    file_exists(DRUPAL_ROOT . '/filename.php')
    

    DRUPAL_ROOT is local drupal destination path, example:

    /home/my_site/public_html