Avatar billede webmasterdk Praktikant
06. juni 2001 - 19:38 Der er 6 kommentarer og
1 løsning

filemanger script

Hejsa
jeg er ved at fuske et lille filmanager script, og kan fint få det til at virke lige bortset fra at den ikke vil skrive til filerne, det virker hvis jeg angiver et præcist navn på filen men ikke hvis den skal hente navnet fra en variabel, hvad er der galt??


<?php

if ($slet){
    unlink(\"$slet\");
    echo \"Filen $slet er blevet slettet\";

} else if ($kilde) {
    echo \"Viser $kilde<br>\";
    show_source ($kilde);

} else if ($rediger) {
    //$redi = fopen($rediger);
    $redi=fopen($basedir.$rediger,\"r\");
    $contents=fread($redi,filesize($basedir.$rediger));
    fclose($redi);
    fclose($contents);
    echo \"<form method=\\\"POST\\\" action=\\\"$PHP_SELF\\\">\";
    echo \"<textarea rows=\\\"10\\\" name=\\\"redi2\\\" cols=\\\"50\\\">\";
    echo $contents;
    echo \"</textarea><br>\";
    echo \"<input type=\\\"submit\\\" value=\\\"Submit\\\" name=\\\"send\\\">\";
    echo \"<input type=\\\"reset\\\" value=\\\"Reset\\\" name=\\\"B2\\\">\";
    echo \"</form>\";



print \"<center><a href=\'$PHP_SELF\'>Tilbage?</a>\";
$redi1=fopen($rediger,\"r+\");
fputs($redi1,$redi2);
fclose($redi1);


} else {



//fclose($redi1);

?>
<TABLE border=\"1\">
<tr><td>
<form action=\"<?$PHP_SELF?>\" method=post>
Indtast det præcise navn på filen der<br>skal slettes, der tages forbehold for stort og småt!<br>
Fil:
<input type=\"text\" size=30 name=\"slet\">
<input value=\"Slet\" type=submit></FORM>
</td></tr><tr><td>FIL</td><td>Slet Fil?</td><td>Vis kilde</td><td>Rediger</td></tr>
<?
$filer=array();
$dirname=\'.\';
$dir=opendir($dirname);
while($fil=readdir($dir))
if(is_file($dirname.\'/\'.$fil))array_push($filer,$fil);
closedir($dir);

while($t<=count($filer)){
echo \"<tr><TD><a href=\\\"$filer[$t]\\\">$filer[$t]</a></TD>\";                            // Åbn fil
echo \"<TD><a href=\\\"$PHP_SELF?slet=$filer[$t]\\\">$filer[$t]</a></TD>\";                // Slet fil
echo \"<TD><a href=\\\"$PHP_SELF?kilde=$filer[$t]\\\">$filer[$t]</a></TD>\";                // Viser kilden på filen
echo \"<TD><a href=\\\"$PHP_SELF?rediger=$filer[$t]\\\">$filer[$t]</a></TD>\";
$t++;
} }
?>

</TABLE>
Avatar billede razor Nybegynder
06. juni 2001 - 19:50 #1
hvad er fejlmeddelsen ?
Avatar billede webmasterdk Praktikant
06. juni 2001 - 19:58 #2
der er ingen.
altså når jeg vælger at åbne en fil for at redigere den, så åbner den filen, læser den ind i en <textarea>, ok så langt så godt, men når jeg så har ændret filen, vil den ikke putte de nye data ned i den.
Avatar billede erikjacobsen Ekspert
06. juni 2001 - 22:03 #3
Det du laver lige efter din </form> bliver jo udført altid. Det skal du have
puttet ind i en

  if (isset($send)) { .... }

OG du skal have $redi1 med i formen, for ellers kan den ikke huske filnavnet til
næste side. Husk på at alt PHP udføres inden du ser din HTML, og dermed din
form.
Avatar billede erikjacobsen Ekspert
06. juni 2001 - 22:04 #4
Nå, ja, der er indholdet at $rediger, evt også med $basedir, du skal have
med i formen, så du har hele filnavnet på næste side.
Avatar billede webmasterdk Praktikant
06. juni 2001 - 22:22 #5
erik >> kunne du evt. lige hvise på koden hvor det skal ind??
Avatar billede erikjacobsen Ekspert
06. juni 2001 - 22:33 #6
Utestet:

} else if ($rediger) {
//$redi = fopen($rediger);
$redi=fopen($basedir.$rediger,\"r\");
$contents=fread($redi,filesize($basedir.$rediger));
fclose($redi);
fclose($contents);
echo \"<form method=\\\"POST\\\" action=\\\"$PHP_SELF\\\">\";
echo \"<input type=\\\"hidden\\\" name=\\\"filename\\\" value=\\\"$basedir$rediger\\\">
echo \"<textarea rows=\\\"10\\\" name=\\\"redi2\\\" cols=\\\"50\\\">\";
echo $contents;
echo \"</textarea><br>\";
echo \"<input type=\\\"submit\\\" value=\\\"Submit\\\" name=\\\"send\\\">\";
echo \"<input type=\\\"reset\\\" value=\\\"Reset\\\" name=\\\"B2\\\">\";
echo \"</form>\";



print \"<center><a href=\'$PHP_SELF\'>Tilbage?</a>\";
} else if (isset($send)) {

$redi1=fopen($filename,\"r+\");
fputs($redi1,$redi2);
fclose($redi1);

} else {
Avatar billede webmasterdk Praktikant
06. juni 2001 - 22:50 #7
takker! :)
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