Gość l3szcz Zgłoś post Napisano Czerwiec 1, 2017 Witam, może dokładnie tytuł nie wyjaśnia tego co chcę osiągnąć ale już opisuję. Mam katalog ze zdjęciami (powiedzmy img), w którym pliki są nazwane jako ID z bazy. W tym momencie plików jest masakryczna ilość (około 300 000) i chcę je posegregować wedle ID po czym przerzucić do odpowiednich folderów. Przykładowo - mam fotki z IDkami od 1 do 1000 i chciałbym by znalazły się one w folderze 1 gdzie "1" będzie oznaczać liczbę tysiąca a sam plik miałby się nazywać w tym folderze jako kolejny ID. I o ile z przerzuceniem zdjęć od 1 do 1000 nie miałbym problemu zastanawiam się jak: - zaokrąglić liczbę do tysiąca - po czym zmienić nazwę pliku (najprostsze) - przerzucić do odpowiedniego folderu (1-15)/id_pliku bez liczby tysiąca Języki, które mogę wykorzystać to PHP / BASH. Przykładowy wygląd folderu: img/1/15.jpg img/1/255.jpg Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Czerwiec 1, 2017 Pseudo kod: currentID; folderID = (int) (currentID / 1000); // zależnie od języka trzeba pozbyć się części dziesiętnych czyli rzutować lub zaokrąglić do inta newID = currentID % 1000; // reszta z dzielenia czyli to co zostaje jest nowym id copy(currentPath + "/" + currentID + ".jpg", "img/" + folderID + "/" + newID + ".jpg"); // wymyśliłem sobie funkcje generalnie przenosisz zależnie od języka plik do nowej lokalizacji budując ścieżkę jak w tym przykładzie Udostępnij ten post Link to postu Udostępnij na innych stronach
nnd_newbie 10 Zgłoś post Napisano Czerwiec 1, 2017 (edytowany) A na ile chcesz folderów podzielić? Bo czasami lepiej wziąć pod uwagę np. ostatnią (wtedy będzie 10 katalogów) lub dwie ostatnie (100 katalogów) cyfry z nazwy pliku. Zalety: - masz stałą liczbę katalogów - masz pliki porozkładane równo po wszystkich katalogach - z samej nazwy możesz wywnioskować w którym katalogu powinien być dany plik (bez żadnych obliczeń), dzięki temu możesz np. tworzyć wpisy rewrite rule w .htaccess - nie musisz zmieniać nazw plików Edytowano Czerwiec 1, 2017 przez nnd_newbie (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach