Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapis do ZIP
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cześć.
Tworzę archiwum ZIP z plikami txt. Odbywa się to w pętli. Skrypt tworzy pliki txt na podstawie predefiniowanych nazw tych plików i ich zawartości. Np:
Kod
//dla czytelnośći dodałem tutaj spacje między nazwą pliku a pipe a zawartością. Normalnie ich nie ma
Plik 1 | Zawartość bla bla 1
Plik 2 | Zawwwwartość 222
Plik 1 | dodatkowa zawartość 1
Plik 3 | zaw 3


Zwróćcie uwagę, że Plik 1 powtórzył się dwa razy, więc jego zawartośc powinna wyglądać następująco:
Kod
Zawartość bla bla 1
dodatkowa zawartość 1


Niestety moje skrypciwo dodaje jedynie zawartość z ostatniego wystąpienia pary " 'nazwa pliku' | 'zawartość' " czyli Plik 1 będzie zawierał jedynie 'dodatkowa zawartość 1'.

Myślę, że najlepiej jest zmodyfikować tę linijkę: $zip->addFromString($file_name,$file_input); tak, aby nadpisując istniejący plik dodawało zawartość na jego końcu, od nowej lini. Jak to osiągnąć? Pomóżcie.


  1. $zip = new ZipArchive();
  2. $filename = "./pliczekzip.zip";
  3. unlink($filename);
  4.  
  5. if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
  6. exit("cannot open <$filename>\n");
  7. }
  8.  
  9. $cells='';
  10. $seperate_files=$cells_from_file;
  11. $file_input='';
  12.  
  13. foreach($seperate_files as $sf){
  14. $file_content_split=explode('|',$sf);
  15. $file_name=$file_content_split[0];
  16. $file_content=explode(',',$file_content_split[1]);
  17.  
  18. foreach($file_content as $fc){
  19. $cells=explode(' ',$fc);
  20.  
  21. $colls=$cells[0];
  22. $rows=$cells[1];
  23.  
  24. $file_input.=$xlsx_file_modified[$rows][$colls];
  25. $file_input.="\t";
  26. }
  27. $file_name='S'.$file_name_prefix.$file_name;
  28. $zip->addFromString($file_name,$file_input);
  29. $file_input='';
  30.  
  31. }
  32.  
  33.  
  34.  
  35.  
  36. echo '<u><h2><a href="pliczekzip.zip">Pobierz plik</a></h2></u>';
  37.  
  38.  
  39. $zip->close();


Ten post edytował sadistic_son 7.10.2021, 12:46:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:27