Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kod usuwający pliki w katalogu
Forum PHP.pl > Forum > Przedszkole
angu56
Dzień dobry
Czy któś mógłby sprawdzić i ewentualnie podpowiedzieć dlaczego poniższy kod nie działa
(ma on czyścić katalog html we wskazanej lokalizacji ze znajdujących się w nim wszystkich plików)

  1.  
  2. error_reporting(E_ALL);
  3. ini_set('display_errors','1');
  4.  
  5. <?php
  6. $files = glob('94.152.177.166/home/users/xinix/public_html/cache/html/*');
  7. foreach($files as $file){
  8. if(is_file($file)) {
  9. chmod($file, 0777);
  10. unlink($file);
  11. }
  12. }
  13. ?>


Kod Wykonuje się ale pliki pozostają i nie ulegają zmianie ich atrybuty.
(choć nie wiem czy ta zmiana atrybutów jest konieczna)
Nie mam prawie żadnego doświadczenia w php, ale próbuję taki wydaje się prosty kod stworzyć.
Z góry dziękuję za pomoc.
trueblue
unlink nie służy do usuwania zdalnych plików.
Odpowiednie będzie ftp_delete.
angu56
bardzo dziękuję, teraz działa
=============
ale niestety zadziałało tylko na tym testowym pliku w testowej lokalizacji.
Po zmianie tylko nazwy katalogu już nie działa

poprawiłem kod na "ftpowy"
  1. <?php
  2.  
  3. ini_set('display_errors','1');
  4.  
  5. // Connect to FTP server
  6. $ftp_server = "ftp.xinix.com";
  7. $ftp_username = "****";
  8. $ftp_password = "*********";
  9. $ftp_conn = ftp_connect($ftp_server) or die("nie można polaczyc do $ftp_server");
  10. $login = ftp_login($ftp_conn, $ftp_username, $ftp_password);
  11.  
  12. $files = glob('/cache/html/*');
  13. foreach($files as $file){
  14. if(is_file($file)) {
  15. chmod($file, 770);
  16. ftp_delete($ftp_conn, $file);
  17. }
  18. }
  19.  
  20. // zamknij polaczenie
  21. ftp_close($ftp_conn);
  22. ?>


i nie zgłasza żadnych błędów ale plików nie usuwa
trueblue
Czytaj dokumentację funkcji, których używasz.

https://www.php.net/manual/en/function.ftp-nlist
https://www.php.net/manual/en/function.ftp-chmod.php
angu56
Dziękuję za podpowiedź, próbuję korzystać ze wskazówek, ale plątam się w kodzie i interpunkcji.
Siedzę trzecią godzine i próbuję ale nie działa.
Czy mógłbyś Ty lub ktoś inny poprawić ten mój kod tak aby działał?
Jestem już w dosyć zaawansowanym "senioralnym wieku" i nie wszystko idzie mi tak jak młodszym.
Nie jestem też programistą.
viking
Jeśli już podłączyłeś się do ftp i korzystasz z tych funkcji, to cały kod powinien być o nie oparty https://www.php.net/manual/en/ref.ftp.php
Czyli jak podał trueblue, do wylistowania plików w danych zasobie ftp służy np funkcja https://www.php.net/manual/en/function.ftp-nlist
phpamator
Cytat(angu56 @ 24.04.2023, 14:15:59 ) *
Dziękuję za podpowiedź, próbuję korzystać ze wskazówek, ale plątam się w kodzie i interpunkcji.
Siedzę trzecią godzine i próbuję ale nie działa.
Czy mógłbyś Ty lub ktoś inny poprawić ten mój kod tak aby działał?
Jestem już w dosyć zaawansowanym "senioralnym wieku" i nie wszystko idzie mi tak jak młodszym.
Nie jestem też programistą.


Eetam eetam "senioralnym",
ja też nie jestem mło(dym)dzikiem ale daję radę tongue.gif
Jak się odrobinę "podciśniesz" to spokojnie sobie poradzisz tongue.gif
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-2024 Invision Power Services, Inc.