ich hab mir mal gedacht, programmier ich ein bisschen weiter an HomePH Design, das Hauptprogramm ist ja mittlerweile bis auf Schritt 8 fertig - nämlich die Ausgabe irgendwohin.
In einen lokalen Ordner geht schon, allerdings soll auch die Möglichkeit gegeben sein, direkt aus dem Programm heraus die Daten auf einen Webspace hochzuladen.
Nur funktioniert das irgendwie nicht, denn es scheint bei ftp_chmod bzw. ftp_site zu hapern bei der Rechtevergabe für Ordner.
Ich habs mal mit dem Filezilla Webserver bei XAMPP probiert (also htdocs "freigegeben" als FTP-Verzeichnis, auf das man mit ftp://localhost/ zugreift), dort kann man aber offensichtlich nicht CHMOD 777 für Ordner setzen, sondern höchstens 755 (oder ich glaub NUR 755) und auf meinem Webspace werden komischerweise die Rechte für den Oberordner auf 441 gesetzt ?!?
Ich habe ja die Erfahrung gemacht, dass auf meinem Webspace NICHTS läuft, also die ideale Testbasis, denn was DA läuft, das kriegt auch jeder DAU zum laufen . Aber warum bitteschon dann CHMOD 441? (kann auch irgenwas anders gewesen sein, z.B. 401 oderso, aber auf jeden Fall ist es nicht das, was es eigentlich sein sollte).
Hier mal das Script (bzw. der erste Teil davon):
if (!function_exists('ftp_chmod'))
{
function ftp_chmod($ftpstream,$chmod,$file)
{
$old=error_reporting();
error_reporting(0);
$result=ftp_site($ftpstream, "CHMOD ".$chmod." ".$file);
error_reporting($old);
return $result;
}
}
Set_Time_Limit(0);
$original = "HomePH Design";
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect($_POST["ftpserver"]);
// Einloggen mit Benutzername und Kennwort
ftp_login($conn_id, $_POST["benutzername"], $_POST["passwort"]);
ftp_mkdir($conn_id, $_POST["extraverzeichnis"]);
ftp_chmod($conn_id, "0777", $_POST["extraverzeichnis"]);
$openfolder = @opendir($original);
while($readfolder = @readdir($openfolder))
{
if(($readfolder != "../") and($readfolder != ".") and ($readfolder != "..") and ((filetype($original."/".$readfolder) != "dir")))
{
ftp_put($conn_id, $_POST["extraverzeichnis"]."/".$readfolder, $original."/".$readfolder, FTP_BINARY);
}
}
ftp_close($conn_id);
ftp_mkdir($conn_id, $_REQUEST["extraverzeichnis"]."/admin");
ftp_chmod($conn_id, "0777", $_REQUEST["extraverzeichnis"]."/admin");
ftp_mkdir($conn_id, $_REQUEST["extraverzeichnis"]."/admin/templates");
ftp_chmod($conn_id, "0777", $_REQUEST["extraverzeichnis"]."/admin/database");
ftp_mkdir($conn_id, $_REQUEST["extraverzeichnis"]."/admin/images");
ftp_chmod($conn_id, "0777", $_REQUEST["extraverzeichnis"]."/admin/images");
ftp_mkdir($conn_id, $_REQUEST["extraverzeichnis"]."/smilies");
ftp_chmod($conn_id, "0777", $_REQUEST["extraverzeichnis"]."/smilies");
$openfolder = opendir($original);
while($readfolder = readdir($openfolder))
{
if($readfolder == "." || $readfolder == ".."){continue;}
if(($readfolder != "../") and($readfolder != ".") and ($readfolder != ".."))
{
ftp_put($conn_id, $_REQUEST["extraverzeichnis"]."/smilies/".$readfolder, $original."/".$readfolder, FTP_BINARY);
}
}