kostenloser Webspace werbefrei: lima-city


Root-Verzeichnis am Computer simulieren

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    Hallo!

    Kennt ihr das Problem, wenn man eine Website erstellt, aber die genauen Pfadangaben erst einstellen kann wenn man sie hochlädt, da der Computer die Dateien sonst nicht findet wenn man aufs Root-Verzeichnis verweist? Eine ziemlich nervige Angelegenheit, vor allem bei größeren Projekten. Und die Website für jeden einzelnen Test hochzuladen ist ja auch sehr umständlich. Die Website einfach direkt im Root-Verzeichnis der Festplatte zu erstellen ist ja auch nicht die beste Lösung.

    Also hab ich mir gedacht, dass es ja wohl irgendwie funktionieren muss, ein Root-Verzeichnis (bzw. eine Partition) zu simulieren. Ich will halt meinen PC dafür auch nicht unbedingt neu aufsetzen, um so eine Partition für diese Zwecke zu erstellen.
    Kennt jemand eine Möglichkeit das zu verwirklichen?

    Danke im Voraus!

    Beitrag zuletzt geändert: 11.5.2012 17:17:04 von yorecords
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    Es gibt mehrere Möglichkeiten, zB:
    - Mit relativen statt absoluten Pfaden arbeiten
    - Mit PHP das Rootverzeichnis auslesen und bei Pfadangaben voransetzen
    - Das Root-Verzeichnis in einer Variable speichern und diese voransetzen
  4. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    trueweb schrieb:
    Es gibt mehrere Möglichkeiten, zB:
    - Mit relativen statt absoluten Pfaden arbeiten
    - Mit PHP das Rootverzeichnis auslesen und bei Pfadangaben voransetzen
    - Das Root-Verzeichnis in einer Variable speichern und diese voransetzen


    Wenn ich mit relativen Pfadangaben arbeite, kann ich die vor dem Hochladen erst wieder ändern (und das gleiche glaub ich auch bei Möglichkeit Nr. 3).
    Mit PHP kenn ich mich nicht wirklich aus, und ich glaub auch nicht, dass das am Computer so einfach funktioniert.

    Geht das vielleicht irgendwie mit einer Systemvariablen? So, dass ich vor dem Hochladen nicht die ganzen Pfadangaben wieder ändern muss.

    Beitrag zuletzt geändert: 11.5.2012 17:31:14 von yorecords
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    yorecords schrieb:
    Wenn ich mit relativen Pfadangaben arbeite, kann ich die vor dem Hochladen erst wieder ändern (und das gleiche glaub ich auch bei Möglichkeit Nr. 3).
    Worum geht es denn? Links? Pfadangaben in PHP (obwohl du dich mit PHP nicht wirklich auskennst...)?
  6. 1)Mit relativen Pfaden arbeiten.
    2) PHP lokal, bzw lokaler Server geht mit Xampp
    HTH raphael811
  7. g****e

    Ich weiß jetzt nicht genau was das Problem ist, aber man kann mit Konstanten schön arbeiten.
    Ich mache es so, dass meine Konfigurationsdatei folgende Einträge enthält:
    define( 'PATH_ROOT' , dirname( __FILE__ ) );
    define( 'PATH_TEMPLATE' , PATH_ROOT . '/Template' );
    ...

    So kannst du selbst bei Umbau der Ordnerstruktur einfach darauf reagieren, indem du in der Konfigurationsdatei einfach nur den Path anpasst. Und du kannst aus jeder erdenklichen Funktion auf genau das richtige Verzeichnis zugreifen.
    Dabei sehen meine Ordnerstrukturen so aus:

    ROOT
    - index.php
    - config.php
    /template
    /module
    /lib
    ...

    Und steuere alles über die Index.php, so kann man dann sichergehen, dass immer die nötigen Path's überall nutzbar sind, und die Struktur stehts eingehalten wird.

    Liebe Grüße
  8. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    Ich glaub ihr versteht alle nicht was ich meine.. PHP funktioniert ja nur auf einem Server. Und mir geht es darum, dass ich während ich am Computer die Website erstelle, schon die gleichen Pfadangaben verwenden kann, wie dann am Server.
    Weil wenn ich so z.B.in der Datei /ordner/datei.html ein Bild (src="/bilder/bild.jpg") habe, dann kann ich das so auf dem Computer nicht anzeigen, sondern erst wenn ich die Website auf den Server hochgeladen habe.

    Beitrag zuletzt geändert: 11.5.2012 18:12:47 von yorecords
  9. g****e

    Wenn du den HTML Code mit PHP generierst nicht. Ich mache dabei von dem Oberan ansatz her weiter:
    define( 'PATH_IMAGE' , PATH_ROOT . '/images' );
    define( 'PATH_HTMLSRC_IMAGE' , '/images' );

    Wenn du jetzt deinen Code generierst, und hast einen Template Phraser, kannst du die Bilder über diesen generieren. Du hast also deine Box.tpl.php :
    <div>
    hier ein schönes Bild:
    <img src="<?php echo PATH_HTMLSRC_IMAGE ?>/hallowelt.jpg" />
    </div>

    Wenn du ein entsprechend flexibles Tempaltesystem hast, kannst du das ganze so lokal und online unabhängig Testen. Du kannst hier auch meinen Ansatz von oben fortführen mit einer Image.php
    <?php
    
    include_once 'config.php';
    $reqImg = preg_replace('[[:punct:]]', '' , $_GET['i'] );
    if ( file_exists( PATH_IMAGE . '/' . $reqImg ) {
        header("Content-Type: image/jpg");
        echo file_get_contents( PATH_IMAGE . '/' . $reqImg );
    } else {
        header("Content-Type: image/jpg");
        echo file_get_contents( PATH_IMAGE . '/noImage.jpg' );
    }
    
    ?>

    und dann
    <imp src="/image.php?i=helloworld.jpg" />

    Wäre ungetestet und wäre möglich. Da könntest du auch gleich noch Header mitsenden, um das Bild zu Cachen, oder es gzip komprimieren, um Traffic zu sparen und deine Seite optimieren. Das gleiche kannst du auch mit Javascript und CSS machen.

    Liebe Grüße
  10. yorecords schrieb:
    Ich glaub ihr versteht alle nicht was ich meine.. PHP funktioniert ja nur auf einem Server.

    Wie ich eben schonmal verkündet habe, Teste mal XAMPP, damit funktioniert PHP auch auf deinem Computer. Außerdem kannst du auch lokal relative Pfade benutzen, was spricht den dagegen?
  11. Hallo :wave:

    Wenn ich mich nicht irre variieren diese Pfade von Webspace zu Webspace teils deutlich, normalerweise sollte er ja /var/www/ sein, aber je größer der Hoster desto größer die Wahrscheinlichkeit, dass der Pfad ganz anders lautet.
    Mit relativen Pfaden zu arbeiten hat bei mir nichts geholfen als ich cronjobs verwendete -.-

    Ich hatte da einen richtig goilen portablen HTTP-Server, finde aber den Link nicht mehr. XAMPP ist doof. :biggrin: Da solltest du dir dann einfach die Ordner anlegen, die auf dem Webspace auch existieren und es sollte funktionieren.

    mfg :wave:

    //EDIT: http://microapache.kerys.co.uk/ <- das war es glaube ich

    Beitrag zuletzt geändert: 11.5.2012 21:49:10 von voloya
  12. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    voloya schrieb:
    XAMPP ist doof. :biggrin:
    Deine Meinung äußern kannst du ja, aber eine Begründung warum XAMPP doof sein sollte würde allen anderen hier im Forum helfen das auch zu verstehen...
  13. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    Danke für eure Antworten!

    ggamee schrieb:
    Wenn du den HTML Code mit PHP generierst nicht. Ich mache dabei von dem Oberan ansatz her weiter:
    define( 'PATH_IMAGE' , PATH_ROOT . '/images' );
    define( 'PATH_HTMLSRC_IMAGE' , '/images' );

    Wenn du jetzt deinen Code generierst, und hast einen Template Phraser, kannst du die Bilder über diesen generieren. Du hast also deine Box.tpl.php :
    <div>
    hier ein schönes Bild:
    <img src="<?php echo PATH_HTMLSRC_IMAGE ?>/hallowelt.jpg" />
    </div>

    Wenn du ein entsprechend flexibles Tempaltesystem hast, kannst du das ganze so lokal und online unabhängig Testen. Du kannst hier auch meinen Ansatz von oben fortführen mit einer Image.php
    <?php
    
    include_once 'config.php';
    $reqImg = preg_replace('[[:punct:]]', '' , $_GET['i'] );
    if ( file_exists( PATH_IMAGE . '/' . $reqImg ) {
        header("Content-Type: image/jpg");
        echo file_get_contents( PATH_IMAGE . '/' . $reqImg );
    } else {
        header("Content-Type: image/jpg");
        echo file_get_contents( PATH_IMAGE . '/noImage.jpg' );
    }
    
    ?>

    und dann
    <imp src="/image.php?i=helloworld.jpg" />

    Wäre ungetestet und wäre möglich. Da könntest du auch gleich noch Header mitsenden, um das Bild zu Cachen, oder es gzip komprimieren, um Traffic zu sparen und deine Seite optimieren. Das gleiche kannst du auch mit Javascript und CSS machen.

    Liebe Grüße


    Das ist mir noch ein Bisschen zu kompliziert um das schon auf eine ganze Website anwenden zu können. Und ich hab zurzeit auch nicht die Zeit mich mit PHP außernanderzusetzen, weil ich gerade dabei bin C zu lernen.. Aber vielleicht greif ich irgendwann mal drauf zurück.


    raphael811 schrieb:
    yorecords schrieb:
    Ich glaub ihr versteht alle nicht was ich meine.. PHP funktioniert ja nur auf einem Server.

    Wie ich eben schonmal verkündet habe, Teste mal XAMPP, damit funktioniert PHP auch auf deinem Computer. Außerdem kannst du auch lokal relative Pfade benutzen, was spricht den dagegen?


    Ok, cool. Das werd ich auf jeden Falll einmal versuchen.
    Das mit den relativen Pfaden funktioniert nicht, weil der Computer immer vom Root ausgeht. Wenn ich jetzt z.B. zwei Ordner am Desktop habe und von einem in den nächsten verweisen will geht das nicht wenn ich /ordner/datei.html als Pfad eingebe, da das System dann nach C:\Ordner\datei.html statt C:\Users\Admin\Desktop\Ordner\datei.html sucht.

    voloya schrieb:
    Da solltest du dir dann einfach die Ordner anlegen, die auf dem Webspace auch existieren und es sollte funktionieren.



    Wo meinst du? Ich hab das gerade so versucht, aber es war ja eigentlich klar, dass das nicht funktioniert. Ich kann bei den Pfadangaben ja nicht vom Root von Lima-City ausgehen..

    voloya schrieb:
    : http://microapache.kerys.co.uk/


    Das schaut interessant aus. Werd ich mir bei Gelegenheit mal genauer anschauen.

    Edit:

    Eigentlich hab ich ja z.B. an eine Möglichkeit gedacht, dem Computer mitzuteilen, dass für Verweise aus diesem Ordner jener Ordner als Root gilt. Oder eben irgendwie eine Partition zu simulieren. Irgendeine Möglichkeit muss es da doch geben.

    Beitrag zuletzt geändert: 12.5.2012 18:54:00 von yorecords
  14. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    yorecords schrieb:
    Eigentlich hab ich ja z.B. an eine Möglichkeit gedacht, dem Computer mitzuteilen, dass für Verweise aus diesem Ordner jener Ordner als Root gilt. Oder eben irgendwie eine Partition zu simulieren. Irgendeine Möglichkeit muss es da doch geben.
    Wenn du Pfadangaben simulieren möchtest, die sich auf DocumentRoot beziehen (sowas wie /styles.css) dann brauchst du einen lokalen Webserver. XAMPP ist hier recht gut, das ist ein Apache mit PHP-Unterstützung. Der verhält sich fast gleich wie der Webserver bei lima-city, du kannst also dort deine Sachen testen, und vorallem passt das auch mit den Pfaden.

    yorecords schrieb:
    Weil wenn ich so z.B.in der Datei /ordner/datei.html ein Bild (src="/bilder/bild.jpg") habe, dann kann ich das so auf dem Computer nicht anzeigen, sondern erst wenn ich die Website auf den Server hochgeladen habe.
    Dieses Problem wird mit dem lokalen Webserver behoben.

    Beim lokalen Webserver lädst du deine Homepage in einen speziellen Ordner (bei XAMPP: <Pfad-zu-XAMPP>\htdocs). Danach rufst du im Browser einfach http://localhost/ auf...

    Eine andere Möglichkeit gibt es auch nicht; vergiss die Partitionen...
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!