Avatar billede ranger1 Nybegynder
04. juli 2003 - 00:02 Der er 13 kommentarer og
1 løsning

lav fil i mappe 2

Jeg har den her kode som virker fint.

<?php
if (isset($_POST['send'])) {
    if (is_dir($_POST['mappenavn'])) {
        echo "Biblioteket eksisterer allerede";
    } else {
        mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,'indhold dette er mit indhold $_POST['navn1'],$_POST['navn2']');
        fclose($fp);
    }
}
?>
<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="submit" name="send">
</form>

Men når jeg laver den sådan her så vil den ikke:

<?php
if (isset($_POST['send'])) {
    if (is_dir($_POST['mappenavn'])) {
        echo "Biblioteket eksisterer allerede";
    } else {
        mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,<?php
if (isset($_POST['send'])) {
    if (is_dir($_POST['mappenavn'])) {
        echo "Biblioteket eksisterer allerede";
    } else {
        mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,'indhold dette er mit indhold $_POST['navn1'],$_POST['navn2']');
        fclose($fp);
    }
}
?>
<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="submit" name="send">
</form>
');
        fclose($fp);
    }
}
?>
<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="submit" name="send">
</form>

Nogle der kan hjælpe mig med det ?
Avatar billede ahv Nybegynder
04. juli 2003 - 00:14 #1
Hvad er det du helt præcist vil?
Avatar billede ranger1 Nybegynder
04. juli 2003 - 00:26 #2
Hej ahv.

jo du hjalp mig med at få det her script til at lave en index.php fil i mappen mitnavn jeg troede så bare at jeg kunne copy paste et hvilket som helst andet php script ind i fputs($fp,'<?php Det her område ?>'); men det kan man åbenbart ikke lige sådan gøre kan du fortælle mig hvordan jeg kan gøre det
Avatar billede ahv Nybegynder
04. juli 2003 - 00:28 #3
Så det du vil er faktisk er indsætte hele kildekoden i en ny php fil?
Avatar billede ranger1 Nybegynder
04. juli 2003 - 00:34 #4
ja og nej jeg vil indsætten en helt anden kilde kode med nogle ændringer fra formularen navn1 og navn2 sådan som du har hjulpet mig med at få det til at virke, jeg valgte bare den samme kode for at ilustrer hvad det var jeg ville
Avatar billede ahv Nybegynder
04. juli 2003 - 00:41 #5
<?php
if (isset($_POST['send'])) {
    if (is_dir($_POST['mappenavn'])) {
        echo "Biblioteket eksisterer allerede";
    } else {
        mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $kildekode = "<?php\n echo 'Navn1: $_POST[navn1]';\n echo 'Navn2: $_POST[navn2]';\n ?>";
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,$kildekode);
        fclose($fp);
    }
}
?>

<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="send">
</form>

Hvis vi indtaster hej som mappenavn vil den genere en mappe de rhedder hej hvori der er en mappe de rhedder mit navn i denne er der en fil ved navn index.php, hvis vi har indtastet navn1= ahv og navn2 = 123 vil dens indhold være ->

<?php
echo 'Navn1: ahv';
echo 'Navn2: 123';
?>

Du laver altså linieskift i kildekoden på den skabte side med \n
Avatar billede ahv Nybegynder
04. juli 2003 - 00:41 #6
Det var forresten et svar :o)
Avatar billede ranger1 Nybegynder
04. juli 2003 - 00:51 #7
det har jeg også selv fået til at virke, men når jeg feks vil have hele koden med alt det som står mellem <?php også if then osv altså mere end bare en linje kode ?>
Avatar billede ahv Nybegynder
04. juli 2003 - 00:55 #8
$kildekode = "<?php\n $hest = 'hest'; \necho 'første linie';\n if ($hest == 'hest') {\n echo 'hej';\n }\n ?>";

Det giver da op til flere lininer?

<?php
$hest = 'hest';
echo 'første linie'
if ($hest == 'hest') {
echo 'hej';
}
?>
Avatar billede ranger1 Nybegynder
04. juli 2003 - 01:03 #9
ja det gør det men skal hele kilde koden stå i en lang linje med \n bag hver linje ?
Der går nemlig ged i min kode når jeg kommer til at trykke enter i min editor
Avatar billede ahv Nybegynder
04. juli 2003 - 01:05 #10
Jep lang linie med\n bag hver linie :) Du kan evt. skrive det i et tekst area også når du trykker udfør så få den til at erstatte linieskifte med \n
Avatar billede ranger1 Nybegynder
04. juli 2003 - 01:14 #11
ok  en meget lang linje.

<?php
if (isset($_POST['submit']))
if (is_dir($_POST['mappenavn'])) {
    echo "Biblioteket eksisterer allerede";
} else {
      mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $kildekode = "<?php\n if (isset($_POST['submit']))\n if (is_dir($_POST['mappenavn']))\n{\n echo "Biblioteket eksisterer allerede";\n}\n else {\n mkdir ($_POST['mappenavn'], 0777);\n mkdir ($_POST['mappenavn']."/mitnavn", 0777);\n $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");\n fputs($fp,"<?php include(\"test4.php\");?>");\n fclose($fp);\n}\n?>\n <form action="" method="post">\n<input type="text" name="mappenavn">\n<input type="text" name="navn1">\n<input type="text" name="navn2">\n<input type="submit" name="submit">\n</form>\n";
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,$kildekode);
        fclose($fp);
    }
}
?>
<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="submit">
</form>

hvorfor virker den her så ikke ?
Avatar billede ahv Nybegynder
04. juli 2003 - 01:20 #12
<?php
if (isset($_POST['submit'])) {
    if (is_dir($_POST['mappenavn'])) {
        echo "Biblioteket eksisterer allerede";
    } else {
        mkdir ($_POST['mappenavn'], 0777);
        mkdir ($_POST['mappenavn']."/mitnavn", 0777);
        $kildekode = "<?php\n if (isset($_POST['submit']))\n if (is_dir($_POST['mappenavn']))\n{\n echo 'Biblioteket eksisterer allerede';\n}\n else {\n mkdir ($_POST['mappenavn'], 0777);\n mkdir ($_POST['mappenavn'].'/mitnavn', 0777);\n $fp = fopen($_POST['mappenavn'].'/mitnavn/index.php','w');\n fputs($fp,'<?php include(\"test4.php\");?>');\n fclose($fp);\n}\n?>\n <form action='' method='post'>\n<input type='text' name='mappenavn'>\n<input type='text' name='navn1'>\n<input type='text' name='navn2'>\n<input type='submit' name='submit'>\n</form>";
        $fp = fopen($_POST['mappenavn']."/mitnavn/index.php","w");
        fputs($fp,$kildekode);
        fclose($fp);
    }
}
?>
<form action="" method="post">
<input type="text" name="mappenavn">
<input type="text" name="navn1">
<input type="text" name="navn2">
<input type="submit" name="submit" value="send">
</form>

Men du skal jo tænke på at alle variabler bliver oversat til deres værdi, så den kode du for i filen vil du ikke kunne bruge, grudnen til dit eget forslag ikke virkede var at dy havde " inde i kildenkoden hivlket du ikke må erstat dem med '
Avatar billede ahv Nybegynder
04. juli 2003 - 01:20 #13
eller \"
Avatar billede ranger1 Nybegynder
04. juli 2003 - 12:05 #14
det virker altså stadig ikke jeg får den her fejl
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in test5.php on line 8

line 8 er der hvor $kildekoden står, der må da være en mulighed for at lave en fil med alle variabler så de ikke er oversat, jeg tænkte på andre navne til dem det ville da være logisk at de så ikke ville blive oversat, men jeg kan ikke engang få dem med i en fil på den her måde så der må være en anden måde
HJÆLP!!!! please
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester