Piwik\Http::ensureDestinationDirectoryExists PHP Method

ensureDestinationDirectoryExists() public static method

public static ensureDestinationDirectoryExists ( $destinationPath )
    public static function ensureDestinationDirectoryExists($destinationPath)
    {
        if ($destinationPath) {
            Filesystem::mkdir(dirname($destinationPath));
            if (($file = @fopen($destinationPath, 'wb')) === false || !is_resource($file)) {
                throw new Exception('Error while creating the file: ' . $destinationPath);
            }
            return $file;
        }
        return null;
    }

Usage Example

示例#1
0
文件: Service.php 项目: piwik/piwik
 /**
  * Downloads data from the given URL via a POST request. If a destination path is given, the downloaded data
  * will be stored in the given path and returned otherwise.
  *
  * Make sure to call {@link authenticate()} to download paid plugins.
  *
  * @param string $url An absolute URL to the marketplace including domain.
  * @param null|string $destinationPath
  * @param null|int $timeout  Defaults to 60 seconds see {@link self::HTTP_REQUEST_METHOD}
  * @return bool|string  Returns the downloaded data or true if a destination path was given.
  * @throws \Exception
  */
 public function download($url, $destinationPath = null, $timeout = null)
 {
     $method = Http::getTransportMethod();
     if (!isset($timeout)) {
         $timeout = static::HTTP_REQUEST_TIMEOUT;
     }
     $post = null;
     if ($this->accessToken) {
         $post = array('access_token' => $this->accessToken);
     }
     $file = Http::ensureDestinationDirectoryExists($destinationPath);
     $response = Http::sendHttpRequestBy($method, $url, $timeout, $userAgent = null, $destinationPath, $file, $followDepth = 0, $acceptLanguage = false, $acceptInvalidSslCertificate = false, $byteRange = false, $getExtendedInfo = false, $httpMethod = 'POST', $httpUsername = null, $httpPassword = null, $post);
     return $response;
 }