Zimny585
20.08.2014, 01:42:16
Witam. Mam troche nietypowy kłopot który nie wiem jak ugryść mianowicie. Mam skrypt przenoszący pliki z miejsca "klient" do "dane" ale potrzeba jest taka aby pliki z folderu "klient" były przenoszone do folderu "dane" i do podfolderów (A-Z, 0-9) tak aby pierwsza litera pliku trafiała do podfolderu "dane". np: plik krawat.txt z folderu "klient" trafił do /dane/k/krawat.txt
<?php
$srcDir = 'klient';
$destDir = 'dane';
while (false !== ($file = readdir($handle))) { if (is_file($srcDir . '/' . $file)) { rename($srcDir . '/' . $file, $destDir . '/' . $file); }
}
} else {
echo "$srcDir could not be opened.\n"; }
} else {
echo "$destDir is not writable!\n"; }
} else {
echo "$destDir is not a directory!\n"; }
} else {
echo "$destDir does not exist\n"; }
?>
Bardzo proszę o wskazówkę lub pomoc.
Pozdrawiam
fate
20.08.2014, 06:06:07
<?php
foreach(glob($srcDir . '/*') as $file) { if (is_file($srcDir . '/' . $file)) { rename($srcDir . '/' . $file, $destDir . '/' . $file); }
}
?>
sprawdx
Zimny585
20.08.2014, 10:33:35
Sprawdzałem szybko ale niestety skrypt przestał przenosić pliki
bede z tym walczył dalej po pracy
Dzięki
nospor
20.08.2014, 10:42:53
Odpowiedz podana przez fate ma sie nijak do Twojego problemu wiec na nią w ogole nie patrz. Chyba nie doczytał o co pytales...
Aby zrobic to co chcesz, to tę linijke w swoim pierwszym poscie:
rename($srcDir . '/' . $file, $destDir . '/' . $file);
masz zamienic na:
rename($srcDir . '/' . $file, $destDir .'/'.substr($file,0,1). '/' . $file);
Powinno działać pod warunkiem, że te katalogi z literkami już istnieją. Jak nie, to musisz je wpierw utworzyć.
Zimny585
20.08.2014, 11:47:48
Działa tak jak powinno

Dziękuje za pomoc bardzo sie przydała