Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie przesłanej zmiennej z pliku txt
Forum PHP.pl > Forum > PHP
dhkraja69@wp.pl
Witam

Napisałem sobie kilka prostych skryptów AJAX i PHP, tzn, ładuję zdjęcia na serwer później zapisuje scieżkę do zdjęcia w pliku TXT, po czym pobiera go AJAX i wyświetla na stronie... Wszystko działo piękna, jednak chce dodać jeszcze możliwość usuwania tych zdjęć z serwera oraz ścieżki z TXT... Do tego celu wyświetlam zdjęcia w katalogu w pętli z przyciskiem kasuj -- po naciśnięciu wysyłana jest nazwa pliku i kasuje go z serwera -- to działa jak najbardziej poprawnie..

Jednak ja usunąć scieżkę do tego pliku z TXT aby AJAX jej nie ładował ? Dane zapisane są w lini, przykład :

../../gallery/glowna//thumb_1300625269.jpg|
../../gallery/glowna//thumb_1300625300.jpg|
../../gallery/glowna/thumb_1300626725.jpg

plik delete.php na chwilę obecą wygląda tak :

  1. <?php
  2.  
  3. $plik=$_POST['usun'];
  4. $nowa = substr($plik, 6, 20);
  5.  
  6. unlink('../../gallery/glowna/'.$_POST['usun']);
  7. unlink('../../gallery/glowna/'.$nowa);
  8.  
  9. header("location:usun.php");
  10.  
  11. ?>


Jako że PHP nie jest moją mocną stroną, potrzebuję pomocy, a dokładniej jak usunąć przesłaną zmienną z pliku TXT ? Na dodatek, przy kasowaniu ostatniej linii muszę skasować separator z poprzedniej 'I' - w przeciwnym razie AJAX będie próbował wyświetlić jedno zdjęcie za dużo do którego nie ma scieżki...

Czy ktoś może mi pomoć w tej sytuacji ?

Pozdrawiam
krzotr
1. file_get_contents, by wczytać zawartość pliku.
2. explode, by rozdzielić zawartość pliku na ścieżki (znakiem "|").
3. array_search, by znaleźć daną ścieżkę
4. unset, by usunąć ścieżkę z tablicy.
5. implode, by połączyć wartości tablicy znakiem "|"
6. file_put_contents, by zapisać spowrotem
7. Gotowe
dhkraja69@wp.pl
Hmmm.. próbuje dalej ale usuwa mi cała zawartości pliku, zamiast sciezki... na pewno coś tu jest nie tak, może ktoś nakieruje ?

  1. $txt = "../../dynamic_ajax.txt";
  2. $img = "../../gallery/glowna/".$_POST['usun'];
  3.  
  4. $file = file_get_contents($txt, true);
  5. $file2 = explode('|', $file);
  6. $search=array_search($img, $file2);
  7.  
  8. unset($search);
  9.  
  10. $array = array($file2);
  11. $separator = implode("|", $array2);
  12.  
  13. file_put_contents($txt, $separator);
krzotr
  1. unset($search);
  2.  
  3. $array = array($file2);
  4. $separator = implode("|", $array2);


Zamień na:
  1. unset($file2[$search]); // usuwanie klucza z tablicy $file2
  2. $separator = implode("|", $file2);
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.