Strona 1 z 2
Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 16:16
przez majcioszek
Code: Zaznacz cały
<?php
$i=0;
foreach (glob("photo/*.*") as $filename)
{
$tab[$i]['nazwa'] = $filename;
$tab[$i]['rozmiar'] = filesize($filename);
$i++;
$num = $i;
}
$id = 0;
while($num>0)
{
$num--;
$mode = $tab[$id]['nazwa'];
$plik="foto.xml";
$czytanie=@fopen($plik,"r+");
$tekst="";
while(!feof($czytanie)) {
$tekst.=fread($czytanie,500);
}
$nowe_dane=" <galeria>
<foto>$mode</foto>
</galeria>";
fseek($czytanie,0);
fwrite($czytanie, $nowe_dane.$tekst);
fclose($czytanie);
$id++;
}
?>
Program odczytuje wszystkie nazwy plików z folderu "photo" a następnie zapisuje wyniki w pliku foto.xml
Lecz problem leży w tym, że za każdym włączeniem pliku nadpisuje wartość nowa d statym pliku nawet jeśli ma te same wartości.
Prosze o mała pomoc:D
Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 21:12
przez Morfidon
A co ma robić w tym nowym pliku? Rozumiem, że to problem, ale nie znam założenia.
Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 22:11
przez majcioszek
w pliku "foto.xml" ma wpisać wartość
Code: Zaznacz cały
<galeria>
<foto>photo/romek.jpg</foto>
</galeria>
i ją wpisuje dobrze.
romek.jpg = jest to plik ktory znajduje sie w folderze photo/
Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 22:58
przez Morfidon
Nie zrozumiałeś mojego pytania.
Napisałeś:
"Lecz problem leży w tym, że za każdym włączeniem pliku nadpisuje wartość nowa w starym pliku nawet jeśli ma te same wartości."
a jak ma być? jak otworzysz plik to ma dopisać tylko nowe?Gdy są te same ma nie nadpisać? Co ma w ogóle zrobić? Bo rozumiem, że to co napisałeś przed chwilą to już robi, ale jakie jest założenie poprawności. Dla jednego coś może być poprawne, dla drugiego już nie

Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 23:00
przez majcioszek
1.włączenie
Code: Zaznacz cały
<galeria>
<foto>photo/romek.jpg</foto>
</galeria> <galeria>
<foto>photo/photo.zip</foto>
</galeria> <galeria>
<foto>photo/index.php</foto>
</galeria>
2.drugie włączenie
Code: Zaznacz cały
<galeria>
<foto>photo/romek.jpg</foto>
</galeria> <galeria>
<foto>photo/photo.zip</foto>
</galeria> <galeria>
<foto>photo/index.php</foto>
</galeria> <galeria>
<foto>photo/romek.jpg</foto>
</galeria> <galeria>
<foto>photo/photo.zip</foto>
</galeria> <galeria>
<foto>photo/index.php</foto>
</galeria>
i tak dalej się powoduje
Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 23:10
przez lordviader
Witam.
Się wtrącę gdyż razem z Majcioszkiem kminimy nad tym problemem.
więc są 2 sprawy.
1)
powyższy kod generuje
Code: Zaznacz cały
" <galeria>
<foto>foty/Zdjęcie(10).jpg</foto>
</galeria> <galeria>
<foto>foty/PIC207.jpg</foto>
</galeria> <galeria>
<foto>foty/PIC206.jpg</foto>
</galeria> <galeria>
<foto>foty/PIC205.jpg</foto>
</galeria>
a nam zależy żeby wyraz "<galeria>" był na początku wszystkiego a "</galeria>" na samym końcu.
2)
żeby pliki nie były za każdym razem dopisywane ale po ponownym uruchomieniu nadpisane w całości

myslałem o kodzie który b zaczynał czyścić cały dokument przed wykonaniem reszty

Re: Skrypt do odczytywania i zapisywania xml
Napisane: czwartek, 31 stycznia 2013, 23:54
przez Morfidon
Code: Zaznacz cały
<?php
$i=0;
foreach (glob("photo/*.*") as $filename)
{
$tab[$i]['nazwa'] = $filename;
$tab[$i]['rozmiar'] = filesize($filename);
$i++;
$num = $i;
}
$id = 0;
$nowe_dane ="<galeria>";
while($num>0)
{
$num--;
$mode = $tab[$id]['nazwa'];
$plik="foto.xml";
$czytanie=@fopen($plik,"r+");
$tekst="";
while(!feof($czytanie)) {
$tekst.=fread($czytanie,500);
}
$nowe_dane .="
<foto>$mode</foto>
";
$id++;
}
$nowe_dane .="</galeria>";
fseek($czytanie,0);
fwrite($czytanie, $nowe_dane.$tekst);
fclose($czytanie);
?>
Re: Skrypt do odczytywania i zapisywania xml
Napisane: piątek, 1 lutego 2013, 00:08
przez lordviader
Działa

Jesteś naprawdę zajebisty w tym co robisz.
Naprawdę wielkie dzięki

uratowałeś mi tym tyłek.
A jeszcze jakbyś dał radę wykminić jak zrobić by nie dodawał za każdym razem danych tych samych. Tylko by nadpisywał już istniejący plik albo czyścil go na samym początku to byłby już szczyt wszystkiego

Re: Skrypt do odczytywania i zapisywania xml
Napisane: piątek, 1 lutego 2013, 02:04
przez Morfidon
Musisz wykorzystać inny tryb otwarcia zamiast r+ skorzystaj z w+.
Re: Skrypt do odczytywania i zapisywania xml
Napisane: piątek, 1 lutego 2013, 10:08
przez lordviader
Morfidon napisał(a):Musisz wykorzystać inny tryb otwarcia zamiast r+ skorzystaj z w+.
No i również działa

. Normalnie mistrz jesteś

pozdrawiam i bardzo Ci dziękuję
