Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

In Dateien schreiben

Eingetragen von kev52 (423)
am 12.09.2008 - 17:45 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x oder neuer

Ich versuche gerade Daten aus einem Node in eine txt Datei zu schreiben, ein Problem hab ich dabei aber, nämlich wie genau muss die Pfadangabe aussehen, damit das funktioniert? Ich habe die normale http URL genommen, aber die scheint nicht zu funktionieren.

‹ Wie "Kontaktieren" in Contact Form ersetzen? Scheduler und Archiv ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: aus einem Node in

Eingetragen von quiptime (4972)
am 12.09.2008 - 22:23 Uhr
Zitat:

aus einem Node in eine txt Datei zu schreiben

Erklaere bitte wie Du das machst.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

der Code sieht wie folgt

Eingetragen von kev52 (423)
am 12.09.2008 - 22:36 Uhr

der Code sieht wie folgt aus. Leider funktioniert das so nicht wirklich!

<?php


function test_service_xml($arr)
{
  foreach(
$arr as $key=>$value)
  {
      $
$key = $value;
  }
 
 
//validate node 
 
node_validate($arr);
  if (
$errors = form_get_errors()) {
    return
services_error(implode("\n", $errors));
  }

 
$node = node_submit($arr);
 
 
$node->field_xml_url = $xml; // URL: http://www.my-site.de/files/id.xml
 
 
$filecontent = stripslashes($captions);
 
$filehandle = fopen($node->field_xml_url, "w+");
 
  if(!
fwrite($filehandle, $filecontent))
  {
    return
services_error("ERROR: Kann die Datei nicht speichern.");
  }
 
  @
fclose($filehandle);
 
 
node_save($node);
 
 
db_query("UPDATE {content_type_test} SET field_xml_url = '%s' WHERE nid = %d", $node->field_xml_url, $node->nid);
 
  return
$success;
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst, wenn deine

Eingetragen von Alexander Langer (3416)
am 12.09.2008 - 22:48 Uhr

Du kannst, wenn deine PHP-Konfiguraton es zulässt (was sie nicht sollte), in PHP eine URL benutzen um eine Datei zu Lesen zu öffnen. Das funzt, weil man relativ einfach im Hintergrund schauen kann, ob der Dateiname eine URL ist und kann entsprechend an den Zielserver ein GET senden.

Das sollte aber nicht darüber hinweg täsuchen, dass ein Webserver keine Festplatte ist, auf die man schreiben kann (auch wenn es ein Kommando PUT und Erweiterungen wie WebDAV gibt, ist aber ein anderes Thema).

Wenn du mit PHP eine Datei schreiben willst, musst du diese über einen im lokalen Dateisystem gültigen relativen oder absoluten Pfad ansprechen.

Sonst könnte ja ein jeder auf die Idee kommen auf jedermanns Webserver seinen Krempel abzuladen...

--
Webseiter

  • Anmelden oder Registrieren um Kommentare zu schreiben

wie kann ich das

Eingetragen von kev52 (423)
am 12.09.2008 - 23:03 Uhr

wie kann ich das realisieren? also wie bekomme ich den entsprechenden pfad?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dort liegt der Hase.

Eingetragen von quiptime (4972)
am 12.09.2008 - 23:12 Uhr
Zitat:

ERROR: Kann die Datei nicht speichern.

Dort liegt der Hase. Naja, wusstest Du ja bereits.

Packe eine PHP Datei, beispielsweise "phpinfo.php" mit

<?php
phpinfo
();
?>

in das Rootverzeichnis Deiner Drupalinstallation und rufe diese Datei im Browser auf. Dann suche Dir in dem was der Browser anzeigt den Serverpfad oder den Pfad zu der aufgerufenen Datei.

Das Schreiben in die Datei funktioniert nicht weil sie nicht gefunden wird weil der der Pfad nicht stimmt. Der Pfad ist Root_Deiner_Drupalinstallation/Ordner/Datei_zum_Schreiben.txt

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Zauberwort ist

Eingetragen von Alexander Langer (3416)
am 12.09.2008 - 23:17 Uhr

Das Zauberwort ist DOCUMENT_ROOT : http://www.php.net/manual/de/reserved.variables.server.php

--
Webseiter

  • Anmelden oder Registrieren um Kommentare zu schreiben

$DOCUMENT_ROOT

Eingetragen von quiptime (4972)
am 12.09.2008 - 23:37 Uhr

Es gibt Serverkonfigurationen das kann man $DOCUMENT_ROOT nicht verwenden weil die Variable nicht den korrekten Pfad enthaelt. Da ist es gut zu wissen wie man $DOCUMENT_ROOT einfacherweise pruefen kann.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Unterschiede können

Eingetragen von Alexander Langer (3416)
am 13.09.2008 - 01:11 Uhr

Unterschiede können auftreten, wenn a) irgendein Depp den Wert überschreibt (ist ja leider keine Konstante) oder b) ein lustiger Geselle lustige Webserverkonfigs einsetzt.

Grundsätzlich ist der Weg über die globalen vordefinierten Variablen in PHP aber allen anderen Lösungen vorzuziehen, weil er in sich SAUBER ist. Ich kann doch nicht im ersten Schritt jemandem ernsthaft raten, mit hartkodierten Pfaden um sich zu werfen. Das ist Foobar allererster Kajüte.

PHP ist für sich genommen schon gruselig genug. Da sollte man als Progger wenigstens das Beste draus machen. ;-)

--
Webseiter

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielen dank für die

Eingetragen von kev52 (423)
am 13.09.2008 - 09:25 Uhr

vielen dank für die Hinweise, hoffentlich klappt's ;o)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 16 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association