Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Przenoszenie plików do folderów
Zimny585
post 20.08.2014, 01:42:16
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
fate
post 20.08.2014, 06:06:07
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 20.08.2014, 10:33:35
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 smile.gif

Dzięki
Go to the top of the page
+Quote Post
nospor
post 20.08.2014, 10:42:53
Post #4





Grupa: Moderatorzy
Postów: 36 557
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ć.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Zimny585
post 20.08.2014, 11:47:48
Post #5





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

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


Działa tak jak powinno 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:33