WinFuture-Forum.de: [php] Datei Nur Auslesen - Nicht Ausgeben - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php] Datei Nur Auslesen - Nicht Ausgeben


#1 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 01. März 2005 - 14:47

Hallo zusammen.

Ich habe da ein paar Dateien in PHP, die ich mit einschließen will.
In den Daten befinden sich verschiedene Variablen, Definitionen, Scripts, Inhalte,...

Nur habe ich ein Problem mit der include-Funktion.
Damit wird nicht nur ausgelesen, sondern auch ausgegeben.
Wenn ich also beispielsweise ein JS in einer eingeschlossenen Datei habe, dann wird dieses im Quelltext auch gleich ausgegeben - das will ich aber nicht.
Die require-Funktion gibt den Inhalt leider auch aus.

Was kann ich also machen, um eine Datei einzuschließen (das gleiche Ergebnis wie bei der include-Funktion), ohne dass diese aber ausgegeben wird.

Ist dies möglich?
Bitte mit Erklärung :-D

Danke euch!

--

Nebenbei kann mir vielleicht jemand noch eine kleine Frage zu PHP beantworten.
Wenn ich als Beispiel mit einer echo- oder print-Funktion arbeite, dann sieht es ja so aus:
<? echo "Nachricht"; ?>


Es gibt nun mehrere Möglichkeiten, wie ich innerhalb von der echo-Ausgabe weitere Anführungszeichen mache.

Variante 1:
<? echo "<img src=\"bild.jpg\" border="\0\""; ?>

Variante 2:
<? echo "<img src='bild.jpg' border='0'"; ?>

Variante 3:
<? echo '<img src="bild.jpg" border="0"'; ?>

Welche Variante bevorzugt ihr bzw. habt ihr Tricks?
Danke ebenfalls :-D
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

Anzeige



#2 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.198
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 01. März 2005 - 14:50

Zu den Anführungszeichen. Ich bevorzuge Variante 1. Variante 2 ist Müll, weil es nicht komform ist.
0

#3 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 01. März 2005 - 14:52

Zitat (stefanra: 01.03.2005, 14:50)

Zu den Anführungszeichen. Ich bevorzuge Variante 1. Variante 2 ist Müll, weil es nicht komform ist.
<{POST_SNAPBACK}>


OK Variante 1 wird auch von selfPHP empfohlen. Finde es nur umständlich und teilweise unübersichtlich, wenn man viel Code hat (z.B. durch Tabellen).
Aber was ist denn so falsch an den anderen 2 Varianten bzw. wie meinst du das "nicht konform"?
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#4 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 01. März 2005 - 15:48

Zitat (Corey: 01.03.2005, 06:47)

Hallo zusammen.

Ich habe da ein paar Dateien in PHP, die ich mit einschließen will.
In den Daten befinden sich verschiedene Variablen, Definitionen, Scripts, Inhalte,...

Nur habe ich ein Problem mit der include-Funktion.
Damit wird nicht nur ausgelesen, sondern auch ausgegeben.
Wenn ich also beispielsweise ein JS in einer eingeschlossenen Datei habe, dann wird dieses im Quelltext auch gleich ausgegeben - das will ich aber nicht.
Die require-Funktion gibt den Inhalt leider auch aus.

Was kann ich also machen, um eine Datei einzuschließen (das gleiche Ergebnis wie bei der include-Funktion), ohne dass diese aber ausgegeben wird.

<{POST_SNAPBACK}>


Ich verstehe nicht so ganz, was du damit bewirken willst.

Du kannst mit file_get_contents dein Inhalt einer Datei in eine Variable laden.

Was dich vielleicht interessieren koennte, waere php_check_syntax. Diese Funktion prueft eine Datei auf Scriptingfehler und fuehrt sie danach aus. Die Datei wird aber nicht ausgegeben.

Zitat

The php_check_syntax() function performs a syntax (lint) check on the specified filename testing for scripting errors. This is similar to using php -l from the commandline except php_check_syntax() will execute (but not output) the checked file_name. For example, if a function is defined in file_name, this defined function will be available to the file that executed php_check_syntax(), but output from file_name will be suppressed.


Gruesse,
-PW
0

#5 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 01. März 2005 - 16:12

@PelzigesWaldtier (*g* lustiger Nick)

Ich kenne das schon, aber das ist nicht ganz das, was ich will.
Gibt es denn keinen PHP-Befehl (wie include), der die Datei einließt und alle Informationen aus der Datei holt, diese Dateien aber nicht ausgibt.

Beispiel:
Ich habe ein Java-Script in dieser PHP-Datei, die eingeschlossen werden soll. Dieses Script steht dann aber an der Stelle im Quelltext, wo die Datei included wird.

--

Noch was anderes:
Ich habe Variablen in einer externen Datei, die ich einschließe.
Zwischen den PHP-Tags (<? ?>) muss diese Datei immer eingeschlossen werden. Falls ich aber an einer anderen Stelle nach dem Tag (?>) eine Variable aufrufen will (weil zum Beispiel ein längerer HTML-Code usw. dazwischen ist), dann muss ich die Datei wieder einschließen.
Kann man sie auch global für die ganze Seite einschließen und nicht nur für den Folgenden PHP-Tag?
Kann ich mir zwar kaum vorstellen, aber vielleicht gibt es ja ne Möglichkeit :)

Danke euch allen!
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#6 Mitglied ist offline   Kr1x 

  • Gruppe: aktive Mitglieder
  • Beiträge: 142
  • Beigetreten: 27. Juli 02
  • Reputation: 0

geschrieben 01. März 2005 - 16:17

zu welche methode bevorzugst du:
die 3. - is am schnellsten da der interpreter nicht schaut ob variablen darin sind.

aber ich wuerde es dennoch so schreiben:
<?= '<img src="bild.jpg" border="0"' ?>

alternativ mit einer variablen so:
<?= "<img src=\"$url.jpg\" border=\"0\"'; ?>
0

#7 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.505
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 01. März 2005 - 16:22

Zitat

Aber was ist denn so falsch an den anderen 2 Varianten bzw. wie meinst du das "nicht konform"?

Variante 2 erzeugt offensichtlich kein gültiges HTML.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#8 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 01. März 2005 - 16:26

Zitat (Rika: 01.03.2005, 16:22)

Variante 2 erzeugt offensichtlich kein gültiges HTML.
<{POST_SNAPBACK}>


Stimmt! Daran dachte ich nicht.
Aber dann dürfte ja die Variante 3 in Ordnung sein, oder?
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#9 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 768
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 01. März 2005 - 16:30

@Coray:
1. Variante 3 sollte tatsächlich gehen...

Zu den includes:
Was du suchst, sind funktionen!
Schreibe das einzufügende in eine Funktion und rufe diese zu einem entsprechenden Zeitpunkt auf...
In etwa so:
<?
function FunktionsName()
{
  echo "<script>
           </script>";
  return 0;
}
?>

0

#10 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 01. März 2005 - 16:58

Danke, aber Funktionen kenne ich gut und nutze ich auch.
Das ist gar nicht mein Problem
Mein Problem steht oben, wollte nur wissen ob es so ein Befehl gibt :-D
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#11 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 02. März 2005 - 03:54

Also wenn ich ganz ehrlich bin, dann verstehe ich dein Problem nicht so ganz. Gibt doch einfach mal ein Praxisbeispiel / ein Praxisproblem.

-PW
0

#12 Mitglied ist offline   Urza 

  • Gruppe: aktive Mitglieder
  • Beiträge: 253
  • Beigetreten: 16. September 04
  • Reputation: 0
  • Wohnort:Dominaria/Aventurien

geschrieben 02. März 2005 - 16:11

//externe Datei include.inc.php

<?php
$var1="wert";
$var2=17;
?>
<p>Hallo :)</p>
<?php
$var3="ende";
?>


//Script main.php

<?php
include("include.inc.php"); //<p>Hallo :)</p>
echo $var1; // "wert"
echo $var2; // 17
echo $var3; //"ende"
?>


http://de2.php.net/m...ion.include.php

hm hoffentlich hab ich dein Problem richtig verstanden ^^

Dieser Beitrag wurde von Urza bearbeitet: 02. März 2005 - 16:13

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0