Announcement

Collapse
No announcement yet.

Upload Probleme

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Upload Probleme

    Hallo Ihrs

    Ich habe da ein Problem was mich zweifeln lässt ob die Maßnahme wie ich es angehe die richtige ist...

    Aber der Reihe nach.

    1. Ich habe mehrere Domains bei einem Provider gehostet.
    2.Die Domains leigen alle im selben Webspace und haben alle einem eindeutigen Ordnernamen.
    Der absolute Pfad ist also immer derselbe (Bsp.: /mnt/webspace/user123/),
    es wird im Document_root lediglich der Ordnername hinzugefügt wenn man sich in einer Domainumgebung befindet (Bsp.: /mnt/webspace/user123/test1.de/).

    Nun haben alle Domains den gleichen Inhalt, die Webseiten sehen vom Erscheinungsbild also alle gleich aus.
    Lediglich der Content und die Bilder sind unterschiedlich, da diese aus einer gemeinsamen DB per anderslautenden Konstanten die pro Domainaufruf gesetzt, ausgelesen werden.

    Da die Dateien nun alle den selben Inhalt haben, habe ich eine Domain als Testumgebung für Änderungen oder Neuerungen erkoren.
    Hier lege ich neue Dateien an, ändere bestehende Dateien und Teste diese bevor ich sie auf die anderen Domains (noch per FilleZilla- FTP) aufspiele.

    Nun, um mir etwas Arbeit abzunehmen, habe ich mir gedacht eine Art Uploadscript zu schreiben welches geänderte oder neue Dateien einliest und auf die anderen Domains, die ich individuell auswähle, aufspielt.

    Ich habe mir also eine Funktion geschrieben die genau das erfüllen soll.

    Leider und nun komme ich zu meinem Problem, klappt das Schreiben der Dateien in die anderen Domainordner nicht.

    Meine Frage ist nun a) geht das überhaupt von einem Domainordner zum anderen Dateien per fgets() zu schreiben und b) falls nein wäre es besser so etwas mit PHP-FTP zu realisieren und wenn ja wie ?

    Hier mal der Code meiner Funktion:

    PHP Code:
            public static function uploadAll() {
                
    $url "mein absoluter Server-Pfad (Ordner der Entwicklungsumgebung ausgeklammert)";
                
    $dir ClassUpload::getDirectory(); // Liest die Domainordner ein
                
    $file ClassUpload::getFiles(); // Liest die Dateien ein
                
    $uploadUrl $url "Ordner der Entwicklungsumgebung";
                
                
    // Dateien zum Upload einlesen/schreiben
                
    foreach($dir as $key => $var) {
                    foreach(
    $file as $k => $v) {
                        
    // Einlesen
                        
    $updateFile $uploadUrl.$v["file"];
                        
    $fileArray fopen($updateFile,'r') or die ("Cannot read file.");
                        while (!
    feof($fileArray)) {
                            
    $zeile[]= fgets($fileArray,1024);
                        }
                        
    fclose($fileArray);
                        
    // Zeilenanzahl ermitteln
                        
    $zeileCount=count($zeile);
                        
    // Downloadordner-,file festlegen
                        
    $downloadFile $var["portal"].$v["file"];
                        
    // File zum Beschreiben öffnen
                        
    $fd fopen($downloadFile,"w+");
                        
    // In Datei schreiben
                        
    if(file_exists($fd)) {
                            for(
    $i=0;$i<$zeileCount;$i++) {
                                
    fputs($fd$zeile[$i]."");
                            }
                            echo 
    "<br />File found"// Zum Testen ob Datei vorhanden
                        
    } else {
                            echo 
    "<br />File not found!"// Datei nicht vorhanden
                        
    }
                        
    fclose($fd);
                    }
                }
            } 
    Wie gesagt das Einlesen klappt hervorragend (das kann ich testen), nur bei Öffnen der Datei die beschrieben werden soll gibs Probleme (auch wenn die Dateien vorhanden und testweise mit den Rechten 777 ausgestattet sind).

    Nehme ich allerdings eine Datei aus dem Wurzelverzeichnis (also $_SERVER["DOCUMENT_ROOT"]) wo die Klasse ausgeführt wird dann klappt das.

    Vieleicht hat ja von euch einer mal ein ähnliches Problem gehabt und weiß nen Lösungsansatz.
    Vieleicht habe ich mich aber auch etwas unglücklich ausgedrückt...fragt also ruhig nach wenn etwas unklar ist.

    Wäre dankbar für jede Anregung....

    MfG Mad

  • #2
    Du solltest das deinem Provider schildern und fragen, ob dort Restriktionen bestehen und wenn ja welche
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Du solltest das deinem Provider schildern und fragen, ob dort Restriktionen bestehen und wenn ja welche
      Es handelt sich hierbei um United Domains, also werden dort Restriktionen bestehen.
      Ich glaube auch nicht das die da was dran ändern werden.
      Also doch ne FTP Funktion schreiben...schade sah so gut aus.

      Comment

      Working...
      X