Hallo!
Ich hab mich mal dran gewagt ein Thumbnail Script zu schreiben. Das Script habe ich nun fertig und es funktioniert auch alles so wie ich es will.
Jetzt will ich aber eine Klasse erstellen und dazu will ich das Script etwas verschönern. Ich schreib mal erst die betreffende Funktion.
Diese Funktion bewirkt, dass in dem entsprechenden Ordner des Servers ein Ordner für die Gallery erstellt wird und dass dieser die entsprechenden Rechte hat.
Speziell geht es mir bei der Verbesserung um folgenden Teil:
Dieses ist ja eigentlich nicht allgemein gehalten. Auf meinem Webspace funktioniert das zwar, bzw mit meinem script, aber wie ist das wenn jemand jetzt ganz andere Ordner verwendet?
Gibt es für mein Problem eine elegantere Lösung?
Das Problem kurz:
- das Script läuft unter der url: http://ich.de/admin/index.php
- der ordner soll erstellt werden in: http://ich.de/gallery/
- per ftp erhält man die strukur: irgendwas mit html und home (also bei mir)
PS: Ich mach das mit FTP, weil ich beim Erstellen eines Ordners mittels PHP nicht die entsprechenden Rechte setzen kann.
Habt ihr irgendwelche Ideen?
Danke für die Hilfe
Mastereye
Ich hab mich mal dran gewagt ein Thumbnail Script zu schreiben. Das Script habe ich nun fertig und es funktioniert auch alles so wie ich es will.
Jetzt will ich aber eine Klasse erstellen und dazu will ich das Script etwas verschönern. Ich schreib mal erst die betreffende Funktion.
PHP-Code:
function ftp_dir($username, $ordner)
{
global $ftp_server, $ftp_user, $ftp_pass;
if (!isset($ftp_server) && !isset($ftp_user) && !isset($ftp_pass))
{ /* function fehler */ }
$ftp = ftp_connect($ftp_server);
if(!$ftp) { /* function fehler */ } //keine verbindung
// mit dem FTP verbunden
$ftp_loggedin = @ftp_login($ftp, $ftp_user, $ftp_pass);
if(!$ftp_loggedin) { /* function fehler */ } //nicht eingelogged
$self = $_SERVER['PHP_SELF'];
$root = $_SERVER['DOCUMENT_ROOT'];
$self_a = explode("/", $self);
$self_a = remove_from_array($self_a, "index.php");
$self_a = remove_from_array($self_a, "admin");
$self_a = remove_from_array($self_a, "");
$root_a = explode("/", $root);
$root_a = remove_from_array($root_a, "");
$a = count($root_a) - 1;
// ins html verzeichnis kommen
while ($var <> "ok")
{
$dir = $root_a[$a] . "/" . $dir;
if (@ftp_chdir($ftp, $dir))
{ $var = "ok"; }
else { $var = ""; $a = $a - 1; }
}
foreach ($self_a as $key)
{ $pfad .= $key . "/"; }
$pfad = $pfad . "gallery/";
if (!@ftp_chdir($ftp, $pfad)) echo "fehler" ; /* function fehler */
if (!@ftp_mkdir($ftp,$ordner)) return false;
if (!@ftp_mkdir($ftp,$ordner . "/thumbnails")) return false;
if (!@ftp_mkdir($ftp,$ordner . "/images")) return false;
@ftp_site($ftp, 'CHMOD 0777 /'.$dir.$pfad.$ordner);
@ftp_site($ftp, 'CHMOD 0777 /'.$dir.$pfad.$ordner.'/images');
@ftp_site($ftp, 'CHMOD 0777 /'.$dir.$pfad.$ordner.'/thumbnails');
ftp_quit($ftp);
return true;
}
Diese Funktion bewirkt, dass in dem entsprechenden Ordner des Servers ein Ordner für die Gallery erstellt wird und dass dieser die entsprechenden Rechte hat.
Speziell geht es mir bei der Verbesserung um folgenden Teil:
PHP-Code:
$self_a = explode("/", $self);
$self_a = remove_from_array($self_a, "index.php");
$self_a = remove_from_array($self_a, "admin");
$self_a = remove_from_array($self_a, "");
Gibt es für mein Problem eine elegantere Lösung?
Das Problem kurz:
- das Script läuft unter der url: http://ich.de/admin/index.php
- der ordner soll erstellt werden in: http://ich.de/gallery/
- per ftp erhält man die strukur: irgendwas mit html und home (also bei mir)
PS: Ich mach das mit FTP, weil ich beim Erstellen eines Ordners mittels PHP nicht die entsprechenden Rechte setzen kann.
Habt ihr irgendwelche Ideen?
Danke für die Hilfe
Mastereye
Kommentar