head("\$ftp->ls(null, NET_FTP_RAWLIST)"); Var_Dump::display($ftp->ls(null, NET_FTP_RAWLIST)); head("\$ftp->put({$baseDir}{$singleTestFile}, {$singleTestFile})"); Var_Dump::display($ftp->put($baseDir . $singleTestFile, $singleTestFile)); head("\$ftp->ls(null, NET_FTP_FILES_ONLY)"); Var_Dump::display($ftp->ls(null, NET_FTP_FILES_ONLY)); head("\$ftp->put({$baseDir}{$singleTestFile}, {$singleTestFile}, true)"); Var_Dump::display($ftp->put($baseDir . $singleTestFile, $singleTestFile, true)); head("\$ftp->ls(null, NET_FTP_FILES_ONLY)"); Var_Dump::display($ftp->ls(null, NET_FTP_FILES_ONLY)); head("\$ftp->mdtm({$singleTestFile}, 'd.m.Y H:i:s')"); Var_Dump::display($ftp->mdtm($singleTestFile, 'd.m.Y')); head("\$ftp->size({$singleTestFile})"); Var_Dump::display($ftp->size($singleTestFile)); head("\$ftp->get({$singleTestFile}, {$baseDir}{$singleTestFile}, true)"); Var_Dump::display($ftp->get($singleTestFile, $baseDir . $singleTestFile, true)); head("\$ftp->chmod({$singleTestFile}, 700)"); Var_Dump::display($ftp->chmod($singleTestFile, 700)); head("\$ftp->ls(null, NET_FTP_FILES_ONLY)"); Var_Dump::display($ftp->ls(null, NET_FTP_FILES_ONLY)); head("\$ftp->cd('../')"); Var_Dump::display($ftp->cd('../')); head("\$ftp->chmodRecursive({$baseDir}, 777)"); Var_Dump::display($ftp->chmodRecursive($baseDir, 777)); head("\$ftp->ls(null, NET_FTP_DIRS_ONLY)"); Var_Dump::display($ftp->ls(null, NET_FTP_DIRS_ONLY)); head("\$ftp->putRecursive({$baseDir}{$testUpDir}, {$baseDir}{$testUpDir})"); Var_Dump::display($ftp->putRecursive($baseDir . $testUpDir, $baseDir . $testUpDir)); head("\$ftp->putRecursive({$baseDir}{$testUpDir}, {$baseDir}{$testUpDir})"); Var_Dump::display($ftp->putRecursive($baseDir . $testUpDir, $baseDir . $testUpDir, true)); head("\$ftp->cd({$baseDir}:{$testUpDir})");
function _retrieveServerData($id, $dataType) { switch ($this->{"_source" . ucfirst($dataType)}) { case "file": // File source is used, get file and read as-is into a string $source = realpath($this->{"_sourcePath" . ucfirst($dataType)} . "/" . $id . ".TXT"); $data = @file_get_contents($source); if ($data === false) { return Services_Weather::raiseError(SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA, __FILE__, __LINE__); } break; case "http": // HTTP used, acquire request object and fetch data from webserver. Return body of reply include_once "HTTP/Request.php"; $request = new HTTP_Request($this->{"_sourcePath" . ucfirst($dataType)} . "/" . $id . ".TXT", $this->_httpOptions); $status = $request->sendRequest(); if (Services_Weather::isError($status) || (int) $request->getResponseCode() != 200) { return Services_Weather::raiseError(SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA, __FILE__, __LINE__); } $data = $request->getResponseBody(); break; case "ftp": // FTP as source, acquire neccessary object first include_once "Net/FTP.php"; // Parse source to get the server data $server = parse_url($this->{"_sourcePath" . ucfirst($dataType)} . "/" . $id . ".TXT"); // If neccessary options are not set, use defaults if (!isset($server["port"]) || $server["port"] == "" || $server["port"] == 0) { $server["port"] = 21; } if (!isset($server["user"]) || $server["user"] == "") { $server["user"] = "******"; } if (!isset($server["pass"]) || $server["pass"] == "") { $server["pass"] = "******"; } // Instantiate object and connect to server $ftp = new Net_FTP($server["host"], $server["port"], $this->_httpOptions["timeout"]); $status = $ftp->connect(); if (Services_Weather::isError($status)) { return Services_Weather::raiseError(SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA, __FILE__, __LINE__); } // Login to server... $status = $ftp->login($server["user"], $server["pass"]); if (Services_Weather::isError($status)) { return Services_Weather::raiseError(SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA, __FILE__, __LINE__); } // ...and retrieve the data into a temporary file $tempfile = tempnam("./", "Services_Weather_Metar"); $status = $ftp->get($server["path"], $tempfile, true, FTP_ASCII); if (Services_Weather::isError($status)) { unlink($tempfile); return Services_Weather::raiseError(SERVICES_WEATHER_ERROR_WRONG_SERVER_DATA, __FILE__, __LINE__); } // Disconnect FTP server, and read data from temporary file $ftp->disconnect(); $data = @file_get_contents($tempfile); unlink($tempfile); break; } // Split data into an array and return return preg_split("/\n|\r\n|\n\r/", $data); }