title: How to check if a URL contains a date in PHP
body: <p>I want to build an automated function to automatically upload reports from a URL at end of the day if found on that URL. My question is the URL keeps changing daily with a date. How can I obtain whether the URL has a date? Here I am pasting the url from which i need to extract data</p>
  
  <p>www.bseindia.com/download/BhavCopy/Equity/EQ140316_CSV.ZIP </p>
  
  <p>So the string after "Equity/" needs to be validated as it contains the date. How to build a function in php fro that..
  It will be a great help. Thanks in advance</p>
  
  <p>here is the code that I am following,</p>
  
  <pre><code>&lt;?php
  
  $url = 'http://www.bseindia.com/download/BhavCopy/Equity/EQ140316_CSV.ZIP';
  if ( preg_match("/\/EQ\d{6}_CSV\.ZIP/", $url, $matches)) {
  $path = '/upload/';
  
  $headers = getHeaders($url);
  
  if ($headers['http_code'] === 200 and $headers['download_content_length'] &lt; 1024*1024) {
    if (download($url, $path)){
      echo 'Download complete!'; 
    }
  }
  }
  
  
  /**
   * Get Headers function
   * @param str #url
   * @return array
   */
  function getHeaders($url)
  {
    $ch = curl_init($url);
    curl_setopt( $ch, CURLOPT_NOBODY, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
    curl_setopt( $ch, CURLOPT_HEADER, false );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 3 );
    curl_exec( $ch );
    $headers = curl_getinfo( $ch );
    curl_close( $ch );
  
    return $headers;
  
  }
  
   /**
   * Download
   * @param str $url, $path
   * @return bool || void
   */
  function download($url, $path)
  {
    # open file to write
    $fp = fopen ($path, 'w+');
    # start curl
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    # set return transfer to false
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
    curl_setopt( $ch, CURLOPT_BINARYTRANSFER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    # increase timeout to download big file
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
    # write data to local file
    curl_setopt( $ch, CURLOPT_FILE, $fp );
    # execute curl
    curl_exec( $ch );
    # close curl
    curl_close( $ch );
    # close local file
    fclose( $fp );
  
    if (filesize($path) &gt; 0) 
        return true;
  }
  
  
  ?&gt;
  </code></pre>