Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Stworzenie pliku w notatniku przejscie do nowej lini.
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Hej,
mam skrypt ktory otwiera plik w nottatniku tylko string niechce mi sie zawijac. Nie wiem dlaczego sad.gif

  1. <?php
  2. global $title;
  3. global $wpdb;
  4.  
  5. $date_start = $_GET['date_start'];
  6.  
  7. $date_end = $_GET['date_end'];
  8.  
  9. //End 1
  10. include "WP-ROOT-PATH/wp-config.php";
  11. $db = new mysqli('localhost', 'xxx', 'xxxx', 'xxx');
  12. // Test the connection:
  13. if (mysqli_connect_errno()){
  14. // Connection Error
  15. exit("Couldn't connect to the database: ".mysqli_connect_error());
  16. }
  17. $result = mysqli_query($db,"SELECT * FROM wp_ogloszenia_kupione WHERE add_date BETWEEN '$date_start' AND '$date_end'");
  18.  
  19. $gcid = "/<$>gc";
  20.  
  21. //zawartość pliku
  22.  
  23. $file = 'myText.txt';
  24.  
  25. $id = '1'.$file;
  26. //explode($delimiter, $id);
  27.  
  28. $content = "<PMTags1.0 win>". PHP_EOL;
  29. $content .= . PHP_EOL;
  30.  
  31. while($row = mysqli_fetch_array($result))
  32. {
  33. $content .= "<@win:><\<>win>". $row['kategoria'] . PHP_EOL;
  34. $content .= "<@tekst:><\<>tekst><$>";
  35. $content .= $row['text'];
  36. $content .= $gcid.$row['id'].'/'. PHP_EOL;
  37. }
  38.  
  39. utf8_encode($content);
  40. echo $content;
  41. //Stworzenie pliku
  42. $fp = fopen(trim(trim($id)),"wb");
  43.  
  44. fwrite($fp,$content);
  45. fwrite($fp, pack("CCC",0xef,0xbb,0xbf));
  46. fopen(trim(trim($id)),"r");
  47. fclose($fp);
  48. //End 4
  49. //5 - Otwarcie pliku
  50.  
  51.  
  52.  
  53. if (file_exists(trim($id))) {
  54. header('Content-Description: File Transfer');
  55. header('Content-Type: application/octet-stream');
  56. header('Content-Disposition: attachment; filename='.basename(trim($id)));
  57. header('Content-Transfer-Encoding: binary');
  58. header('Expires: 0');
  59. header('Cache-Control: must-revalidate');
  60. header('Pragma: public');
  61. header('Content-Length: ' . filesize(trim($id)));
  62. flush();
  63. readfile(trim($id));
  64. }
buliq
Nie rozumiem, co chcesz zrobić? jakieś błędy dostajesz?
cykcykacz
Błędu nie dostaje tylke w pliku który mi się otwiera w notatniku:

zamiast zawijac tekst to robi sie z tego ciag czyli :

SzymonPiszePostTextTextTextTextTextText

A powinno byc:

Szymon

Pisze

Post

....

Niehce mi wygenerowac poprawnie tekstu nie przeskakuje poprawnie do nowje lini dla przykładu ten sam skrypt działa dobrze w tej wersji OCB?

  1. <?php
  2.  
  3. $date_start = $_GET['date_start'];
  4. $date_end = $_GET['date_end'];
  5.  
  6.  
  7. //1 - Pobranie ogłoszenia z bazy daych
  8. $con=mysqli_connect("xxx","xxxx","xxx","xxx");
  9. // Check connection
  10. if (mysqli_connect_errno())
  11. {
  12. echo "Failed to connect to MySQL: " . mysqli_connect_error();
  13. }
  14.  
  15. $result = mysqli_query($con,"SELECT * FROM wp_ogloszenia_kupione
  16. WHERE add_date BETWEEN '$date_start' AND '$date_end';");
  17.  
  18. <?php
  19. $category = "lekarskie";
  20.  
  21. $tresc = "";
  22.  
  23. $number = 1000;
  24.  
  25. $gc = "<$>/gc";
  26. $result2 = 'szymon';
  27. //zawartość pliku
  28.  
  29. $file = 'myText.txt';
  30.  
  31. $id = $id.$file;
  32. //explode($delimiter, $id);
  33. $content = "<PMTags1.0 win>".PHP_EOL;
  34. $content .= PHP_EOL;
  35. while($row = mysqli_fetch_array($result))
  36. {
  37. $content .= "<@win:><\<>win>". $row['kategoria'] .PHP_EOL;
  38. $content .= "<@tekst:><\<>tekst><$>";
  39. $content .= $row['text'];
  40. $content .= $gc.$row['id']."/".PHP_EOL;
  41. }
  42.  
  43.  
  44. utf8_encode($content);
  45. echo $content;
  46. //Stworzenie pliku
  47. $fp = fopen(trim(trim($id)),"wb");
  48.  
  49. fwrite($fp,$content);
  50. fwrite($fp, pack("CCC",0xef,0xbb,0xbf));
  51. fopen(trim(trim($id)),"r");
  52. fclose($fp);
  53. //End 4
  54. //5 - Otwarcie pliku
  55.  
  56.  
  57.  
  58. if (file_exists(trim($id))) {
  59. header('Content-Description: File Transfer');
  60. header('Content-Type: application/octet-stream');
  61. header('Content-Disposition: attachment; filename='.basename(trim($id)));
  62. header('Content-Transfer-Encoding: binary');
  63. header('Expires: 0');
  64. header('Cache-Control: must-revalidate');
  65. header('Pragma: public');
  66. header('Content-Length: ' . filesize(trim($id)));
  67. flush();
  68. readfile(trim($id));
  69. }
  70. ?>
buliq
Wyświetl sobie PHP_EOL i zobacz co to jest, w Windows zakończenie linii to \r\n.
Możesz to dopisywać również jako "\r\n" (podwójne apostrofy)

Po co tyle razy używasz trim ? Nie możesz go użyć raz i przypisać do zmiennej?
cykcykacz
Jak otwieram notpadem++ jest dobrze jak windowsowym notatnikiem ciag sie nie zmienia.
buliq
bo notepad++ myśli lepiej niż notepad windows'a
masz na 100% samo \n jako zakończenie linii, napisałem już jak to naprawic
cykcykacz
Powiem tak, czy uzyje \n, \r\n, . PHP_EOL to i tak w windowsowym notpadzie jest lipa a w notpad++ jest dobrze.

Teraz tylko jeszcze mam problemy z kodowaniem.

Ps: serwer jest na Unix a ja otwieram plik na windowsie.
Turson
W Notepad++ ustaw kodowanie UTF-8 BEZ BOM. Jak raz otworzysz i zapiszesz w notatniku to zmienia się znowu kodowanie
fate
a Otwórz w PS_Pad i zobacz czy nie masz przypadkiem tak:

http://zapisz.net/view.php?filename=458_screenshot_1.jpg

Jezeli tak to zmien typ pliku z MAC na UNIX/WIN zapisz i otworz w notatniku
cykcykacz
Kodowanie to akurat nie był problem edytora tylko MySQL.

Dzięki za pomoc tylko nie ogarniam dlaczego w notpadzie text się nie ułożył jak w notpadzie++.

Ale nic dzięki wszystkim za zainteresowanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.