Ordner via PHP anlegen

  • Themenstarter Themenstarter BlackLove2005
  • Beginndatum Beginndatum
Ja, aber ich versteh nicht, wieso da der erste Ordner angelegt wird und der 2. Ordner nicht. Rein theoretisch müssten doh dann beide nicht angelegt werden, oder?
 
Der erste wird angelegt, ohne Probleme. Da er aber vom Apache angelegt wird, bekommt er dess uid. Das Script, dass ausgeführt wird, hat jedoch deine. Daher hat das Script keinen Zugriff auf den Ordner.
 
Ach so, ok.
Hab mir mal jetzt das Tutorial zu der FTP- Klasse angeschaut. Ich habe noch nie in meinem Leben mit Klassen gearbeitet. Kann mir jemand beim Ansatz eben helfen, wie ich den Ordner erstelle? Bzw. wie ich die Klasse ausführe.
 
Ist es denn irgendwie möglich, auch wenn man den Ordner ohne FTP erstellt, dass man dann mittels den FTP- Befehlen eine uID anlegt und damit die Apache-ID überschreibt?

Bitte hilf mir jemand!
 
Also ich hab nun nach ewig langem Versuchen ein Script zusammengebastelt, was mir die Ordner per FTP erstellt.
PHP:
$ftp_id=ftp_connect("host");
$ftp_login=ftp_login($ftp_id, "name", "pass");
						
$remote_adress = '/html/gallerie';
						
if (!is_dir($neu_titel))
{						
	ftp_chdir($ftp_id, $remote_adress);
	ftp_mkdir($ftp_id, $neu_titel);
	ftp_mkdir($ftp_id, $neu_titel."/thumbnails");
}

Aber wie mache ich das nun, dass ich das Bild in den entsprechenden Ordner lade. Komme mit der Funktion absolut nicht klar.
PHP:
$upload= ftp_put($ftp_id, $remote_adress.$_FILES["file"]["name"], $_FILES["file"]["tmp_name"], FTP_BINARY);
Mit dieser Syntax funktioniert gar nichts.

Als nächstes habe ich mir gedacht, hm, ok, wenn das so nicht geht, maachst du es halt auf den herkömmlichen Weg mit move_uploaded_file(). Dazu müsste ich allerdings erst die Rechte der beiden angelegten Ordner ändern.
Der Erste Versuch mit folgendem, FTP- Befehl schlug fehl:
PHP:
ftp_site($ftp_id, " CHMOD 0777 ".$remote_adress.$neu_titel);
Allerdings funktioniert hier auch nicht die herkömmliche Methode chmod().

Ich bin echt langsam am verzweifeln. MIt jedem Schirtt nach vorne mache ich 10 zurück. Falls mir irgendjemand helfen kann, der melde sich bitte. Wenn Fehler in der Syntax auftreten, dann antwortet bitte und korregiert mich.

Vielen Dank
 
Wenn Du per FTP hochlaedst brauchst Du Dich in der Regel nicht um Verzeichnis- und Dateirechte kuemmern, das machst Du ja auch nicht wenn Du von Hand per FTP hochlaedst, richtig?

Hier mal der Code mit dem ich zuvor meine Bilder hochgeladen habe:
PHP:
$ftp=ftp_connect($ftphostname);
ftp_login($ftp,$ftpusername,$ftppassword);
ftp_chdir($ftp,"html");
ftp_put($ftp,"images/".$gallery['gallery']."/".$filename,$tmpname,FTP_BINARY);
ftp_close($ftp);
Das funktioniert in der Form wunderbar.
Die Verzeichnisse werden von einem anderen Script angelegt, aber genau wie bei Dir mit ftp_mkdir().

Mittlerweile hab ich das natuerlich alles auf meine Klasse umgestellt, was dann so aussieht:
PHP:
$ftp=new ftpconnection($ftphostname,$ftpusername,$ftppassword);
$ftp->chdir("html");
$ftp->put($tmpname,"images/".$gallery['gallery']."/".$filename); //verglichen mit ftp_put() sind hier die Dateinamen vertauscht
//$ftp->disconnect(); //nur PHP4
unset($ftp);
 
Hm, sieht schon gut aus. Allerdings bleibt mir noch die Frage, ob die Variable $tmpname bei dir der Variable $_FILES["file"]["tmp_name"] entspricht?

Danke für die Hilfe
 
Davon gehe ich aus. Noch gibt es die Datei ja unter keinem anderen Pfad zu finden. (Muss ja erst verschoben/kopiert/geuploaded werden)
 
Zurück