Sören: Problem mit fwrite();

Beitrag lesen

Konichi wa,

ich bin dabei mir ein Script in PHP zu schreiben, das mir eine Website in Smarty-Form kopieren soll, unabhaengig von ihrer Groesse.

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
</head>  
<body>
<?php  
  
//HTML-Dateien in einem Ordner in den Array $files_convert speichern.  
function get_dir($par_dir, $ebene){  
$files_convert = array();  
    if ($handle = opendir($par_dir)){  
        while (false != ($file = readdir($handle))) {  
            if($file != '.' && $file != '..') {  
                $path_parts = pathinfo($file);  
				  
					if(is_dir($par_dir."/".$file)){  
						//echo $ebene."<b>".$file."</b><br>\n";  
						get_dir($par_dir."/".$file , $ebene."&nbsp;&nbsp;&nbsp;");  
					}else {  
						if($path_parts["extension"]=="html"){  
							$path = $par_dir."/".$file;  
							//echo $ebene."<a href='".$par_dir."/".$file."'>".$par_dir."/".$file."</a><br>\n";  
							array_push($files_convert, $path);  
						}  
					}  
			}  
        }  
        closedir($handle);  
    }  
	  
	//Fuer jedes Element in $files_convert  
	foreach ($files_convert as $value){  
		$path = pathinfo($value);  
		$tmp_dir = substr($path['basename'], 0, -5); //Dateinamen ohne Endung  
		$file_dir = substr($value, strpos($value, "/")+1, strpos($value, "/", 3)-1); //neuer Speicherort  
		$new_file_dir = "newtest/".$file_dir;  
		$dir = $value;  
		$site = $tmp_dir.'.php'; //Daeiname mit PHP-Endung  
		  
			// Inhalt von der Seite einlesen  
			//$array = file($value);  
			  
			// Den Array von $array in eine String $string umwandeln  
			//$string = implode("", $array);  
			  
			$handle = fopen ($value, "rb");  
			$string = fread ($handle, filesize ($value));  
			fclose ($handle);  
			  
			  
			// Offset auf Start setzen  
			$offset=0;  
			  
			// Ordner erstellen wenn noch ncih vorhanden  
			if (! is_dir($new_file_dir)){  
				mkdir($new_file_dir);  
			}  
			  
			//Datei erstellen  
			fopen($new_file_dir.$site, "w+b");  
			//Smarty-Infos schreiben  
			if (is_writable($new_file_dir.$site)) {  
				fwrite($new_file_dir.$site, '<?php\nrequire_once("smarty/Smarty.class.php"); // Smarty includen\n$index=new Smarty; // Ein neues Smartyobjekt erzeugen');  
			}  
			  
			//<title> auslesen und in Datei schreiben  
			while(strpos($string,'<title>', offset) !==false){  
				$anfangtitle=strpos($string,'<title>', $offset)+62;  
				$endtitle=strpos($string,'</title>', $offset)-8;  
				  
				$title=substr($string, $anfangtitle, $endtitle-$anfangtitle);  
				if (is_writable($new_file_dir.$site)) {  
					fwrite($new_file_dir.$site, '$index->assign("$title", $tmp_dir);\n?>');  
				}  
			}  
			  
			// Inhalt auslesen und schreiben  
			while(strpos($string,'<!--content-->', $offset)!==false){  
  
				$anfang=strpos($string,'<!--content-->', $offset)+16;  
				$ende=strpos($string,'<!--EndeAuslesen!-->',$offset)-70;  
				  
				$inhalt=substr($string, $anfang, $ende-$anfang);  
				if (is_writable($new_file_dir.$site)) {  
					fwrite($new_file_dir.$site, '$index->assign("$content",$inhalt);');  
				}  
			}  
			  
			  
			//Datei schliessen			  
			fclose($new_file_dir.$site);  
			// Offset auf Ende setzen  
			$offset=$ende;  
			//  
	}  
}  
	  
	get_dir(".", "");  
 ?>
 </body>  
 </html>

Mir wird jedoch folgende Fehlermeldung ausgegeben:

Warning: fwrite(): supplied argument is not a valid stream resource in G:\xampp\htdocs\kfbc\new\test\convert.php on line 63  
  
Warning: fwrite(): supplied argument is not a valid stream resource in G:\xampp\htdocs\kfbc\new\test\convert.php on line 73

Bin inzwischen etwas ratlos da ich net versteh, wieso fwrite net funzt. Was muss ich aendern?

Gruesse aus Japan
Seren-san