• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

array -> Files einbinden

djfabi

Mitglied
hallo Leute ;)

Also, ich habe vor eine Datei (includes.php) zu erstellen die wie folgt aussieht:

PHP:
$array = array(
             "startpage" => "includes/startpage.css",
             "startpage" => "includes/startpage.js",
             "loginpage" => "includes/loginpage.css",
             "loginpage" => "includes/loginpage.js"
              );
usw..

Nun möchte ich also wenn ich auf der "startpage" bin, das alles aus diesem Array gelesen wird (alles was "startpage" ist) und includiert wird.

Also das ich eine Funktion mache:
PHP:
function read_files($page){
// ????
}

Und da komme ich nicht weiter, bzw ich weiß nichtmal ob das mit dem Array so richtig ist. Ich denke man könnte das mit foreach() machen, aber ich muss zugeben, ich arbeite zum ersten Mal mit array's!

Könnte mir da jemand weiterhelfen?
 
Zunächst: Diese array-Deklaration wird so nicht taugen. Du kannst nicht ein und den selben Index mit mehreren Werten belegen. In diesem Fall würden die JS-Pfade die CSS-Pfade überschreiben.

Möglich wäre ein zweidimensionales Array:
PHP:
$includes = array(
    'startpage' => array('includes/startpage.css', 'includes/startpage.js'),
    'loginpage' => array('includes/loginpage.css', 'includes/loginpage.js'),
);

function read_files($page, $includes_array){
    if(!empty($includes_array[$page]) && is_array($includes_array[$page])){
        foreach($includes_array[$page] as $path){
            echo $path; // ...
        }
    }else{
        // Fehler im Array
    }
}

// Aufruf:
read_files('startpage', $includes);
 
nun noch eine Frage: ich will alle Datein mit .php ausstatten, und inkludieren. Wie mache ich das dann noch?
Also ich kann nicht echo "<link type="stylesheet" />"; oderso machen!

Ich möchte es so: include("datei.php"); includieren.

Nur wie mache ich das denn dann?
Weil einfach den echo mir include() ersetzen, geht denke ich mal nicht, da die Funktion in einer anderen Datei (function.php) steht.
Wie löse ich das?
 
Und was spricht gegen
Code:
<link rel="stylesheet" type="text/css" href="stylesheet.php">
 
Und was spricht gegen
Code:
<link rel="stylesheet" type="text/css" href="stylesheet.php">

Gute Frage ^^

Ich habe mir (als ich mir das System überlegt habe) das einfach mit include() oder mit require() gedacht, einfach nicht drangedacht, ich wollte das wahrscheinlich einfach über den Server mit PHP lösen.

Ok, dann werde ich mir das mal ansehen, aber ich muss ja noch drauf achten, ob es eine CSS oder eine JS Datei wird, ich glaube das war auch mein Grund O:

Ich wollte mit include() machen, und in der Datei den header() senden (damit CSS, oder JS erkannt wird)
Sonst müsste ich den Array ja noch erweitern.

Ist das schlimm wenn ich das mit include() machen würde?
 
Ich verstehe dein Problem nicht! Lege ein Verzeichnis css und ein Verzeichnis js an. Darin packst du die entsprechenden Dateien rein, liest dann mit PHP das Verzeichnis aus und gibst diese dann mit dem richtigen Link-Tag aus.
 
aber js Datein liest man doch mit <script src='js/jsdatei.js' type='text/javascript'></script> aus!
Und css mit <link />

Oder sehe ich das falsch?
 
Puuuuuhhhhhh!!!!
PHP:
<?php
  $files = glob("./js/*");
  
  foreach ($files as $file)
    echo "<script src='$file' type='text/javascript'></script>\n";
    
  $files = glob("./css/*");
  
  foreach ($files as $file)
    echo "<link rel='stylesheet' type='text/css' href='$files'>\n";
?>
 
da ich nicht einer derjenigen bin der einfach nur gerne kopiert (den code von vitus37 habe ich verstanden) wollte ich gerne wissen, was hier passiert?

Was macht beispielsweise die Funktion glob, und wie verbinde ich das mit dem anderen Code?
 
Zurück
Oben