PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei mit Inhalt erstellen


Bogi
03.12.2005, 16:00:41
Hallihallo, ich bins schon wieder :D

Also, ich hab ein Problemchen ...
Ich will den Inhalt eines Ordners in einen anderen Ordner kopieren ... das funktioniert ja, aber ich will in diesem neuen Ordner auch Dateien erstellen, d.h. die sollte nicht mitkopiert werden, weil die je nach ordner einen unterschiedlichen inhalt haben sollten ...
ich bekommen bei der datei, die ich erstellt hab, immer folgenden fehler ausgegeben:
Parse error: parse error, unexpected $ in /var/www/web1/html/partypage/setup.php on line 75
Die Zeile ist immer die letzte Zeile!!!

Hier der Code:

<?php

$source='source';
$dest='testuser';
$pass='9cc9c27e4a7a69dc64001bf7cb67d89d';
$mail='blubb@180bpm.com';
$gb_config = $dest.'/gb_config.php';

echo '1. Make Directory ...';
mkdir ($dest, 0777);
echo ' finished<br>';

echo '2. Copy files ...';
$folder = opendir($source);
while($file = readdir($folder))
{
if ($file == '.' || $file == '..') {
continue;
}

if(is_dir($source.'/'.$file))
{
mkdir($dest.'/'.$file,0777);
CopySourceFiles($source.'/'.$file,$dest.'/'.$file);
}
else
{
copy($source.'/'.$file,$dest.'/'.$file);
}

}
closedir($folder);
echo ' finished<br>';


echo '3. Create config ... ';
if (file_exists($gb_config)) {
print 'Failure! Double creating';
} else {

$INHALT = '
<?

\$smilie_dir = \"../smilies/\";

\$empfaenger = \"$mail\";

\$anzahllogs = \"200\";

\$gbdaten = \"gblog\";

\$Eintraege_pro_Seite = 15;

\$admin = \"$dest\";

\$admin_password = \"$pass\";


session_start();

session_name(\"forumadmin\");

\$admin = 0;

?>

';


$fp=fopen($gb_config,'w');

fwrite($fp, $INHALT);
fclose($fp);
echo ' finished';
?>


wenn ich den teil mit der gb_config-datei weg lasse, dann funktionierts!!!

danke schon für hilfe :D

mfg

xabbuh
03.12.2005, 16:23:30
Du hast die schließende geschweifte Klammer des else-Zweiges vergessen. Wenn du deinen Quellcode richtig einrückst (http://www.php.net/einruecken.html), fallen dir solche Fehler recht schnell auf.

vt1816
03.12.2005, 16:26:03
Es fehlt die abschließende Klammer vom else-Zweig!

Bogi
03.12.2005, 16:30:46
huiuiuiui ... bin ich blöd ... lol, dankeschön ;)

Bogi
03.12.2005, 19:39:14
EDIT: hat sich erledigt!!! register_globals war off!

hi nochmal ;)

sorry für doppelpost, aber es ist noch ein prob aufgetaucht und es ist glaub ich besser, einen doppelpost zu machen, als einen neuen thread aufzumachen :)

also, das problem:

Ich habe vor einiger Zeit neue Nickpages für meine Community gemacht, hab in der Zwischenzeit mal Server neu aufgesetzt und heute wollt ich an den NPs weiter arbeiten, jedoch funktioniert auf einmal das speichern geänderter daten nicht mehr :(

Die Technik dahinter wär ja ganz einfach: Änderungen werden in Formular eingegeben => Formular speichert in datei ...

ich poste mal die 2 dateien:
style.php
<?php
INCLUDE "gb_config.php";
require_once "style.conf";
INCLUDE "gb_functions.php";

if ($admin == 1)
{
?>
<head>
<title>Edit Style</title>
</head>
<body text="#<?php echo $text ?>" bgcolor="#<?php echo $back2 ?>" align="center">

<form action="style_change.php">
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td align="right"><font size="2">outer background:</font></td>
<td><input name="background1" type="text" size="6" maxlength="6" value="<?php echo $back1 ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">inner background:</font></td>
<td><input name="background2" type="text" size="6" maxlength="6" value="<?php echo $back2 ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">header background:</font></td>
<td><input name="headerbackground" type="text" size="6" maxlength="6" value="<?php echo $headback ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">outer bordercolor:</font></td>
<td><input name="bordercolor1" type="text" size="6" maxlength="6" value="<?php echo $border1 ?>"></td>
</tr>

<tr>
<td align="right"><font size="2">outer borderwidth (in px):</font></td>
<td><input name="bordercolor1px" type="text" size="1" maxlength="1" value="<?php echo $border1px ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">textcolor:</font></td>
<td><input name="textcolor" type="text" size="6" maxlength="6" value="<?php echo $text ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">linkcolor:</font></td>
<td><input name="linkcolor" type="text" size="6" maxlength="6" value="<?php echo $link ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">visited-linkcolor:</font></td>
<td><input name="vlinkcolor" type="text" size="6" maxlength="6" value="<?php echo $vlink ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">hover-linkcolor:</font></td>
<td><input name="hlinkcolor" type="text" size="6" maxlength="6" value="<?php echo $hlink ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">active-linkcolor:</font></td>
<td><input name="alinkcolor" type="text" size="6" maxlength="6" value="<?php echo $alink ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">header textcolor:</font></td>
<td><input name="headertext" type="text" size="6" maxlength="6" value="<?php echo $headtext ?>"></td>
</tr>
<tr>
<td align="right"><font size="2">comment-color:</font></td>
<td><input name="commentcolor" type="text" size="6" maxlength="6" value="<?php echo $commentcol ?>"></td>
</tr>

<td align="right"></td>
<td>
<input type="submit" value="Save">
<input type="reset" value="Reset">
</td>
</tr>

</form>
</body>
<?php
}
else { echo"Kein Zugriff"; }
?>

style_change.php
<?php
INCLUDE "gb_config.php";
require_once "style.conf";
INCLUDE "gb_functions.php";

if ($admin == 1)
{


$INHALT = "<?php
\$back1 = \"$background1\";
\$back2 = \"$background2\";
\$border1 = \"$bordercolor1\";
\$border1px = \"$bordercolor1px\";
\$text = \"$textcolor\";
\$commentcol = \"$commentcolor\";
\$headtext = \"$headertext\";
\$headback = \"$headerbackground\";
\$link = \"$linkcolor\";
\$vlink = \"$vlinkcolor\";
\$hlink = \"$hlinkcolor\";
\$alink = \"$alinkcolor\";
?>";


$fp=fopen("style.conf","w");

fwrite($fp, $INHALT);
fclose($fp);
?>
<head>
<title>Edit Style</title>
</head>
<body text="#<?php echo $text ?>" bgcolor="#<?php echo $back2 ?>" align="center">
<center>
Colors changed successfully!<br>
<a href="style.php" target="_parent">Back ...</a>
</center>
</form>
</body>
<?php
}
else { echo"Kein Zugriff"; }

?>

ich hab mal alles getestet ... es werden bei diesem vorgang einfach die daten nicht übergeben, d.h. in der style.conf steht z.b.:
...
$back1 = "";
$back2 = "";
...

woran kann das liegen???

danke schon mal für hilfe!

mfg, bogi

|Coding
03.12.2005, 19:55:34
Versuch es mal mit den superglobalen von PHP ($_GET, $_POST...)

Siehe: http://de.php.net/manual/de/language.variables.predefined.php#language.variables.superglobals

|Coding
03.12.2005, 19:56:34
Und Dein Formular solltest Du auch korrekterweise noch um die "method="-Eigenschaft erweitern.

vt1816
03.12.2005, 20:01:28
Immer wieder der gleiche Fehler. Im <form>-Tag fehlt die Übergabe-Methode (get bzw. post). Und die Übernahme erfolgt in der zweiten dann entsprechend mit $_GET[] bzw. $_POST[]. Da wartet noch viel Arbeit auf Dich ;-) Die Variablen sind nicht mehr GLOBAL!