Ich habe ein problem.
Ich hatte mir letztens ein Fast DL Server von Nitrado geholt und dummerweise wohl nicht drauf geachtet das ich auf diesem Server wirklich NUR downloaden kann. Kann man die generate.php so umschreiben das ich sie auf meiner webspace ausführen kann aber er die list von nem anderen Server zusammen stellt? Hoffe ihr versteht was ich meine..
PHP Code:
<?php
class Files
{
private $Files = array();
private $Directories = array();
public function __construct()
{
}
public function GetDirectories($directory)
{
$dirs = array();
$handle = opendir($directory);
while ($file = readdir($handle))
{
if ($file != "." && $file != "..")
{
if (is_dir($directory.$file))
{
array_push($dirs, preg_replace("|$directory|", "", $directory.$file));
}
}
}
closedir($handle);
natcasesort($dirs);
return $dirs;
}
public function GetDirectoriesForXML($directory)
{
$handle = opendir($directory);
while ($datei = readdir($handle))
{
if ($datei != "." && $datei != "..")
{
if (is_dir($directory.$datei))
{
$return = preg_replace("|client/|", "", $directory.$datei);
$return = preg_replace("|/|", "\\", $return);
array_push($this->Directories, $return);
$this->GetDirectoriesForXML($directory.$datei.'/');
}
}
}
closedir($handle);
}
public function GetFiles($directory)
{
$files = array();
$handle = opendir($directory);
while ($datei = readdir($handle))
{
if ($datei != "." && $datei != "..")
{
if (!is_dir($directory.$datei))
{
array_push($files, preg_replace("|$directory|", "", $directory.$datei));
}
}
}
closedir($handle);
natcasesort($files);
return $files;
}
public function GetFilesWithHash($directory)
{
$handle = opendir($directory);
while ($datei = readdir($handle))
{
if ($datei != "." && $datei != "..")
{
if (is_dir($directory.$datei))
{
$this->GetFilesWithHash($directory.$datei.'/');
} else {
$return = preg_replace("|client/|", "", $directory.$datei);
$return = preg_replace("|/|", "\\", $return);
array_push($this->Files, array("FileName" => $return, "FileHash" => md5_file($directory.$datei)));
}
}
}
closedir($handle);
}
public function GeneratePatchlist()
{
$this->GetDirectoriesForXML("client/");
$this->GetFilesWithHash("client/");
$doc = new DOMDocument("1.0", "UTF-8");
$doc->formatOutput = true;
$patcher = $doc->createElement("PatchList");
if (count($this->Directories) > 0)
{
$patchdirectories = $doc->createElement("PatchDirectories");
foreach ($this->Directories as $val)
{
$name = $doc->createElement("PatchDirectory");
$filename = $doc->createElement("Name", $val);
$name->appendChild($filename);
$patchdirectories->appendChild($name);
}
$patcher->appendChild($patchdirectories);
}
if (count($this->Files) > 0)
{
$patchfiles = $doc->createElement("PatchFiles");
foreach($this->Files as $val)
{
$file = $doc->createElement("PatchFile");
$filename = $doc->createElement("Name", $val["FileName"]);
$filehash = $doc->createElement("Hash", $val["FileHash"]);
$file->appendChild($filename);
$file->appendChild($filehash);
$patchfiles->appendChild($file);
}
$patcher->appendChild($patchfiles);
}
$doc->appendChild($patcher);
return $doc->save("patchlist/patchlist.xml");
}
}
$files = new Files();
$files->GeneratePatchlist();






