Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML][PHP] problem z funkcją konwersji, Nie działa do dodaniu zmiennych
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Witam, próbuje zrobić sobie funkcję przetwarzania wielu xml'i która będzie podpięta do crontaba co 5 min i mam problem z danymi wyjściowymi - nie przetwarza i nie zapisuje mi pliku, a skrypt normlanie działa jesli nie jest jako funkcja, zapewne błędnie ułożoną mam funkcji - moja pierwsza jako początkującego amatora php.

kod tej funkcji znajduje się w pliku function.inc.php i tam też na samym koncu dodaje sobie nowe pliki do przetworzenia :
  1. <?php
  2. function rateconverter ($wejsciowy, $wyjsciowy)
  3. {
  4. #Wczytywanie pliku
  5. $file=file($wejsciowy);
  6.  
  7. #Start XML
  8. $myLine = '';
  9.  
  10. $dane='<?xml version="1.0" encoding="utf-8"?>
  11. <data>
  12. <tabela timeout="15">
  13.  
  14. ';
  15.  
  16. foreach ($file as $data) {
  17. $line=explode("#",$data);
  18. if ($line[0] == 'xxx') { $nazwaw = 'nazwa xxx'; }
  19. elseif ($line[0] == 'yyy') { $nazwaw = 'nazwa yyy'; }
  20. elseif ($line[0] == 'zzz') { $nazwaw = 'nazwa zzz'; }
  21. elseif ($line[0] == 'bbb') { $nazwaw = 'nazwa bbb'; }
  22. else { }
  23.  
  24. if($line[0] == '999')continue;
  25. if($line[0] == '986')break;
  26.  
  27. $myLine .= '<item symbol="'.$line[0].'" imgsrc="./flagi/'.strtolower($line[0]).'.png" jednostka="'.$line[1].'" kupno="'.$line[2].'" sprzedaz="'.$line[3].'"><![CDATA['.$nazwaw.']]></item>
  28. ';
  29.  
  30. }
  31. $dane .= $myLine;
  32. $dane .= '
  33. </tabela>
  34. </data>';
  35.  
  36. $wp=fopen('$wyjsciowy', 'w+');
  37. fwrite($wp, $dane);
  38. fclose($wp);
  39. }
  40.  
  41. //i tutaj bym chciał dodawać sobie ew pliki do prztworzenia wywołane w funkcji, zamiast kopiować ciągle ten cały kod podmieniając tylko nazwy plików
  42. rateconverter('plik1-RATE.xml', 'plik1.xml');
  43. rateconverter('plik2-RATE.xml', 'plik2.xml');
  44. rateconverter('plik3-RATE.xml', 'plik3.xml');
  45. ?>

plik wejsciowy zawiera takie dane
  1. xxx#100#277.80#288.90
  2. yyy#100#395.20#405.90
  3. zzz#100#293.00#305.00

ale tak jak mówię, skrypt działa jeśli go wkleje bez funkcji i zamiast $wyjściowe i $wejsciowe wpiszę normalne nazwy...

a funkcję robię dlatego, bo tak jak mówię będę chciał żeby się ten skrypt wykonywał w crontabie. Zacząłem od funkcji, bo to wyszukałem jako pierwsze i nie wiem czy są lepsze sposoby na obróbkę masową przy użyciu małej ilości kodu odwołania na stronach.

Ten post edytował adek- 8.08.2011, 11:23:02
Go to the top of the page
+Quote Post
wewior
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 8
Dołączył: 24.09.2003

Ostrzeżenie: (10%)
X----


powinno być:
  1. $wp=fopen($wyjsciowy, 'w+');


--------------------
- - -
PHP, HTML, JS, Quick.Cms v6.4, Quick.Cart v6.7, Simlery
- - -
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Czekam na PW z poprawną nazwą tematu.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 02:05