Steinhauer: Verzeichniss

Mit dem Befehl erstellt er mir eine neue DATEI

<?php

$datei = "$Array[name].php";  // datei öffnen
touch("$datei");

if($post)
{
  $fp = fopen($datei,"w+");

# zeilenumbrüche umwandeln
  $newBericht = str_replace("\r","<br>",$newBericht);
  $newBericht = str_replace("\n","<br>",$newBericht);

# $newName : formularelemente
  $data = "$newName|-|$newText|-|\n\r";

fputs($fp,$data); # daten in datei speichern
  fclose($fp);
}

?>

<form name="newEntry" method="post" action="">

Neue Datei erstellen</td><br><br>

Dateiname:<br>

<input name="$Array[name]" type="text" id="name" size="47"><br><br>

Location:<br>

<input name="newName" type="text" id="name" size="47"><br><br>

Überschrift:<br>

<input name="newText" type="text" id="email" size="47"><br><br>

<input name="post" type="submit" id="post" value="submit">

Funkt auch alles nur er fügt keinen text dazu,
aber wenn ich jetzt
$datei = "$Array[name].php";  hernehme
und statt
$datei = "$Array[name].php";
einfach
$datei = "test.php";
eingebe, dann funkt es, da fügt er auch ein text mit ein!

  1. Moin!

    $datei = "$Array[name].php";

    Das geht so nicht. Innerhalb von anführungsstrichen wird der Array nicht "aufgelöst".

    $datei = "test.php";

    Das geht natürlich.

    Die Lösung sieht so aus:
    $datei = $Array[$foo].".php";

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hallo,

      $datei = "$Array[name].php";
      Das geht so nicht. Innerhalb von anführungsstrichen wird der Array nicht "aufgelöst".

      Man kann jedoch {}-Klammern um die Arrayvariable legen.

      Die Lösung sieht so aus:
      $datei = $Array[$foo].".php";

      $datei = "{$Array[$foo]}.php";

      wuerde auch zum Ziel fuehren. Dieser "Komfort" geht bei komplexen Codes zu Lasten der Performance.

      MfG, Thomas