Skocz do zawartości

Lekka korekta skryptu usuwającego pliki


krzysiek_web

Rekomendowane odpowiedzi

Mam taki kod jak poniżej.

Owy skrypt usuwa katalog z zawartością na FTP.

Skrypt działa ale chciałbym aby usuwał zawartość owego katalogu bez niego samego czyli wszystkie pliki w folderze "katalog"

Jak można to zrobić? Co w tym skrypcie można zmienić aby to tak działało?

Prosiłbym o odpowiedź gdyż nie znam się na tym języku programowania.

<?
function rmdirr($target,$verbose=false)
// funkcja kasuje katalog wraz z wszystkimi plikami
{
$exceptions=array('.','..');
if (!$sourcedir=@opendir($target))
{
if ($verbose)
echo '<strong>Nie można otworzyć: '.$target."</strong>\n";
return false;
}
while(false!==($sibling=readdir($sourcedir)))
{
if(!in_array($sibling,$exceptions))
{
$object=str_replace('//','/',$target.'/'.$sibling);
if($verbose)
echo 'Processing: <strong>'.$object."</strong>\n";
if(is_dir($object))
rmdirr($object);
if(is_file($object))
{
$result=@unlink($object);
if ($verbose&&$result)
echo "Plik został usunięty\n";
if ($verbose&&(!$result))
echo "<strong>Nie można usunąć pliku</strong>";
}
}
}
closedir($sourcedir);
if($result=@rmdir($target))
{
if ($verbose)
echo "Katalog został usunięty\n";
return true;
}
if ($verbose)
echo "<strong>Nie można usunąć katalogu</strong>";
return false;
}



// przykładowe użycie funkcji rmdirr:

rmdirr('katalog',true);


?>

Wdrożenia i modyfikacje sklepów PrestaShop - webKS.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Tak na przyszłość wklejaj czytelny kod i nie używaj krótkich tagów do rozpoczynania skryptu php:

<?php

function rmdirr($target, $verbose=false) {
// funkcja kasuje katalog wraz z wszystkimi plikami
$exceptions = array('.', '..');
if (!$sourcedir = @opendir($target)) {
if ($verbose)
	echo '<strong>Nie można otworzyć: ' . $target . "</strong>\n";
return false;
}
while (false !== ($sibling = readdir($sourcedir))) {
if (!in_array($sibling, $exceptions)) {
	$object = str_replace('//', '/', $target . '/' . $sibling);
	if ($verbose)
	echo 'Processing: <strong>' . $object . "</strong>\n";
	if (is_dir($object))
	rmdirr($object);
	if (is_file($object)) {
	$result = @unlink($object);
	if ($verbose && $result)
		echo "Plik został usunięty\n";
	if ($verbose && (!$result))
		echo "<strong>Nie można usunąć pliku</strong>";
	}
}
}
closedir($sourcedir);
if ($result = @rmdir($target)) {
if ($verbose)
	echo "Katalog został usunięty\n";
return true;
}
if ($verbose)
echo "<strong>Nie można usunąć katalogu</strong>";
return false;
}

// przykładowe użycie funkcji rmdirr:

rmdirr('katalog',true);
?>

A tutaj masz usuwanie samej zawartości:

<?php
function rmdirContent($target) {
$directory = pathinfo($target, PATHINFO_BASENAME);
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
while ($it->valid()) {
if (!$it->isDot()) {
	$SubPathNamea = $it->getSubPathName();
	$key = $it->key();
	if(unlink($key)){
	echo 'Plik został usunięty'.PHP_EOL;
	}else{
	echo '<strong>Nie można usunąć pliku</strong>'.PHP_EOL;
	}
}
$it->next();
}
}

//uzycie
rmdirContent('katalog');

?>

Nie mam pojęcia dlaczemu wyleciały i mają filtera Polskie znaki w adresach Joomla od nowa napisane, czytelnie i logicznie. Dylemat adres z www czy bez? Powinno to rozwiać wszelkie wątpliwości.

Naprawiam kodowanie [krzaki, chińskie znaki, polskie znaki] dowiedz się także czymże jest kodowanie znaków bo to podstawa.

Odnośnik do komentarza
Udostępnij na innych stronach

W tym skrypcie do usuwania zawartości zmień:

$directory = realpath($target);

na:

$directory = pathinfo($target, PATHINFO_BASENAME);

Poprawiłem to w skrypcie wyżej.

Nie mam pojęcia dlaczemu wyleciały i mają filtera Polskie znaki w adresach Joomla od nowa napisane, czytelnie i logicznie. Dylemat adres z www czy bez? Powinno to rozwiać wszelkie wątpliwości.

Naprawiam kodowanie [krzaki, chińskie znaki, polskie znaki] dowiedz się także czymże jest kodowanie znaków bo to podstawa.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności