Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Przenoszenie plików do folderów
Zimny585
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.08.2014

Ostrzeżenie: (0%)
-----


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

  1. <?php
  2. $srcDir = 'klient';
  3. $destDir = 'dane';
  4.  
  5. if (file_exists($destDir)) {
  6. if (is_dir($destDir)) {
  7. if (is_writable($destDir)) {
  8. if ($handle = opendir($srcDir)) {
  9. while (false !== ($file = readdir($handle))) {
  10. if (is_file($srcDir . '/' . $file)) {
  11. rename($srcDir . '/' . $file, $destDir . '/' . $file);
  12. }
  13. }
  14. closedir($handle);
  15. } else {
  16. echo "$srcDir could not be opened.\n";
  17. }
  18. } else {
  19. echo "$destDir is not writable!\n";
  20. }
  21. } else {
  22. echo "$destDir is not a directory!\n";
  23. }
  24. } else {
  25. echo "$destDir does not exist\n";
  26. }
  27. ?>


Bardzo proszę o wskazówkę lub pomoc.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
fate
post
Post #2





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3.  
  4. foreach(glob($srcDir . '/*') as $file) {
  5. if (is_file($srcDir . '/' . $file)) {
  6. rename($srcDir . '/' . $file, $destDir . '/' . $file);
  7. }
  8. }
  9.  
  10. ?>


sprawdx
Go to the top of the page
+Quote Post
Zimny585
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.08.2014

Ostrzeżenie: (0%)
-----


Sprawdzałem szybko ale niestety skrypt przestał przenosić pliki

bede z tym walczył dalej po pracy (IMG:style_emoticons/default/smile.gif)

Dzięki
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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ć.
Go to the top of the page
+Quote Post
Zimny585
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.08.2014

Ostrzeżenie: (0%)
-----


Działa tak jak powinno (IMG:style_emoticons/default/smile.gif)

Dziękuje za pomoc bardzo sie przydała
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 08:43