Avatar billede noob2003 Nybegynder
09. februar 2007 - 08:51 Der er 8 kommentarer og
2 løsninger

skrive i fil, men sletter den

jeg har dette script som skulle skrive en ekstra linie i en fil, men det virker ikke i version 5.2.0.

<?php
$filnavn = $_REQUEST['filnavn'];

  $linie1="MX    10 mail";
  $linie2="TXT    \"v=spf1 a mx ptr ~all\"";


  $fh_org = fopen ($filnavn,"r");
  $fh_new = fopen ($filnavn . "$filnavn_NEW","w");

  if ($fh_org) {
  while (!feof($fh_org)) {
      $linie = fgets($fh_org, 4096);
      fwrite($fh_new,$linie);
      // Did we find linie1 ?
      if (preg_match("/^\s*(?i:MX)\s+10\s+(?i:mail)\s*$/",$linie)>0) {
          fwrite($fh_new,$linie2 . "\n");
      }
  }
  fclose($fh_new);
  fclose($fh_org);
  unlink($filnavn);
  rename($filnavn . "_NEW",$filnavn);
  }

?>
Avatar billede jakobdo Ekspert
09. februar 2007 - 13:01 #1
Prøv at ret:
$fh_new = fopen ($filnavn . "$filnavn_NEW","w");
til:
$fh_new = fopen ($filnavn . "$filnavn_NEW","a");
Avatar billede jakobdo Ekspert
09. februar 2007 - 13:02 #2
http://dk2.php.net/fopen
'w'    Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

'a'    Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
Avatar billede noob2003 Nybegynder
09. februar 2007 - 13:33 #3
ups den lavede bare loop med eks. tekst og skrev den igen og igen nåede lige at stoppe den da den var på 100 MB filen ;)

det eneste jeg skal ha den til er at indsætte v=spf1 a mx ptr ~all nedenunder tekst linie med MX    10 mail
Avatar billede jakobdo Ekspert
09. februar 2007 - 14:23 #4
Jeg tror det nemmeste er faktisk at læse hele filen ind i en variabel.
Redigere data, og gemme det hele igen.
Avatar billede jakobdo Ekspert
09. februar 2007 - 14:23 #5
Eller hvad med at arbejde i en database?
Og så lave en cronjob som smider data fra databasen i en fladfil.
Avatar billede noob2003 Nybegynder
12. februar 2007 - 12:05 #6
jeg er tilbage på børnestadiet, har været væk fra php/mysql i for lang tid, men jeg vil lige kikke på det, og se hvad jeg kan gøre.
Avatar billede noob2003 Nybegynder
16. februar 2007 - 17:09 #7
nu vil den lige pludslig godt igen ??????????
Avatar billede noob2003 Nybegynder
16. februar 2007 - 17:09 #8
Takker for input !!!!
Avatar billede jakobdo Ekspert
17. februar 2007 - 18:32 #9
Du får lige et svar så!
Avatar billede jakobdo Ekspert
18. februar 2007 - 15:24 #10
Takker for point.
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