Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Сортировка файлов по папкам смотря какой формат, Сортировка файлов по папкам в зависимости от их формата?
ParadigmX  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Помогите пожалуйста реализовать скрипт сортировки файлов по папкам,
допустим есть каталог \TestFile
В нем много файлов разных форматов .jpg, .zip, .mp4 итд.
нужно их разбросать по папкам с именами относительно форматов JPG, ZIP, MP4.
Как это реализовать в коде?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 3 месяца, 27 дней
Карма: 27




Получаем список файлов, потом проходим по этому массиву, сразу получаем расширение файлов, записываем расширение файлов в массив, убираем повторяющиеся значения, создаём каталоги под файлы.

Осуществляем проход по первому массиву копируем файл, если нужно переместить файл, то старый файл удалить


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

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (Медведь @ 28.08.2016 - 07:07)
Получаем список файлов, потом проходим по этому массиву, сразу получаем расширение файлов, записываем расширение файлов в массив, убираем повторяющиеся значения, создаём каталоги под файлы.

Осуществляем проход по первому массиву копируем файл, если нужно переместить файл, то старый файл удалить

Спасибо, но я не понимаю как переместить сразу несколько файлов я понимаю как один но как неизвестное число?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 3 месяца, 27 дней
Карма: 27




Пройдите по ссылкам и прочитайте - станет понятнее, а потом уже спрашивайте что останется непонятным.

Цитата
я не понимаю как переместить сразу несколько файлов я понимаю как один но как неизвестное число

У вас получится массив по которому потом пройдёт скрипт и скопирует или переместит куда нужно.


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

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (Медведь @ 28.08.2016 - 11:45)
Пройдите по ссылкам и прочитайте - станет понятнее, а потом уже спрашивайте что останется непонятным.

Цитата
я не понимаю как переместить сразу несколько файлов я понимаю как один но как неизвестное число

У вас получится массив по которому потом пройдёт скрипт и скопирует или переместит куда нужно.

$dir = '/TestFile';
$files = scandir($dir, 1);
$arr = array("Что сдесь должно быть - $files ? или розширения типа zip, jpg итд или как?");
foreach ($arr as $value) { // как этип воспользоватся? вместо $value - $files или..?

//}


function getExtension1($filename) {
return end(explode(".", $filename)); // работает только с одним файлом как воспользоватся не пойму
}
mkdir("/TestFile/$filename", 0700); //тоже не пойму как оно должно создать много папок ((((
// дальше уже не могу представить


если можеш дай пример кода пожалуйста :rolleyes:

Это сообщение отредактировал ParadigmX - 28.08.2016 - 12:16
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 3 месяца, 27 дней
Карма: 27




Я сейчас немного занят, если сам не разберёшься и мужики не подскажут, вечером посмотрю.


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

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (Медведь @ 28.08.2016 - 12:16)
Я сейчас немного занят, если сам не разберёшься и мужики не подскажут, вечером посмотрю.

Спасибо большое я то сам попробую постараюсь разобраться, может еще раз погуглю подобное найду )
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Another Reality  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 124
Пользователь №: 41606
На форуме: 1 год, 4 месяца, 21 день
Карма: 5





$files = scandir('./TestFile');
$types = [];

foreach($files as $key => $filename)
{
$tmp_type = end(explode(".", $filename));

if(!in_array($tmp_type, $types))
{
$types[] = $tmp_type;

if(!file_exists('./TestFile/' . $tmp_type))
mkdir('./TestFile/' . $tmp_type);
}

@rename('./TestFile/' . $filename, './TestFile/' . $tmp_type . '/' . $filename);
}
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (Another Reality @ 28.08.2016 - 13:00)

$files = scandir('./TestFile');
$types = [];

foreach($files as $key => $filename)
{
$tmp_type = end(explode(".", $filename));

if(!in_array($tmp_type, $types))
{
$types[] = $tmp_type;

if(!file_exists('./TestFile/' . $tmp_type))
mkdir('./TestFile/' . $tmp_type);
}

@rename('./TestFile/' . $filename, './TestFile/' . $tmp_type . '/' . $filename);
}

Спасибо большое, теперь буду тестить )))
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Another Reality  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 124
Пользователь №: 41606
На форуме: 1 год, 4 месяца, 21 день
Карма: 5




Цитата (ParadigmX @ 29.08.2016 - 01:23)

Спасибо большое, теперь буду тестить )))

Пожалуйста.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (ParadigmX @ 29.08.2016 - 01:23)
Цитата (Another Reality @ 28.08.2016 - 13:00)

$files = scandir('./TestFile');
$types = [];

foreach($files as $key => $filename)
{
    $tmp_type = end(explode(".", $filename));

    if(!in_array($tmp_type, $types))
    {
        $types[] = $tmp_type;

        if(!file_exists('./TestFile/' . $tmp_type))
            mkdir('./TestFile/' . $tmp_type);
    }

    @rename('./TestFile/' . $filename, './TestFile/' . $tmp_type . '/' . $filename);
}

Спасибо большое, теперь буду тестить )))

У меня старій Php
Он не понимает
 $types = [];
:(
Как исправит?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ParadigmX  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43219
На форуме: 4 месяца, 6 дней
Карма:




Цитата (Another Reality @ 28.08.2016 - 13:00)
<pre class="sh_sourceCode" rel="php">
<span class="sh_variable">$files</span> <span class="sh_symbol">=</span> <span class="sh_function">scandir</span><span class="sh_symbol">(</span><span class="sh_string">'./TestFile'</span><span class="sh_symbol">);</span>
<span class="sh_variable">$types</span> <span class="sh_symbol">= [];</span>

<span class="sh_control">foreach</span><span class="sh_symbol">(</span><span class="sh_variable">$files</span> <span class="sh_control">as</span> <span class="sh_variable">$key</span> <span class="sh_symbol">=></span> <span class="sh_variable">$filename</span><span class="sh_symbol">)</span>
<span class="sh_cbracket">{</span>
    <span class="sh_variable">$tmp_type</span> <span class="sh_symbol">=</span> <span class="sh_function">end</span><span class="sh_symbol">(</span><span class="sh_function">explode</span><span class="sh_symbol">(</span><span class="sh_string">"."</span><span class="sh_symbol">,</span> <span class="sh_variable">$filename</span><span class="sh_symbol">));</span>

    <span class="sh_control">if</span><span class="sh_symbol">(!</span><span class="sh_function">in_array</span><span class="sh_symbol">(</span><span class="sh_variable">$tmp_type</span><span class="sh_symbol">,</span> <span class="sh_variable">$types</span><span class="sh_symbol">))</span>
    <span class="sh_cbracket">{</span>
        <span class="sh_variable">$types</span><span class="sh_symbol">[] =</span> <span class="sh_variable">$tmp_type</span><span class="sh_symbol">;</span>

        <span class="sh_control">if</span><span class="sh_symbol">(!</span><span class="sh_function">file_exists</span><span class="sh_symbol">(</span><span class="sh_string">'./TestFile/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$tmp_type</span><span class="sh_symbol">))</span>
            <span class="sh_function">mkdir</span><span class="sh_symbol">(</span><span class="sh_string">'./TestFile/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$tmp_type</span><span class="sh_symbol">);</span>
    <span class="sh_cbracket">}</span>

    @<span class="sh_function">rename</span><span class="sh_symbol">(</span><span class="sh_string">'./TestFile/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$filename</span><span class="sh_symbol">,</span> <span class="sh_string">'./TestFile/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$tmp_type</span> <span class="sh_symbol">.</span> <span class="sh_string">'/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$filename</span><span class="sh_symbol">);</span>
<span class="sh_cbracket">}</span>
</pre>

У меня старый Php
Он не понимает :(
$types = [];

Как исправить на array?

Это сообщение отредактировал ParadigmX - 29.08.2016 - 13:49
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Another Reality  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 124
Пользователь №: 41606
На форуме: 1 год, 4 месяца, 21 день
Карма: 5




Цитата (ParadigmX @ 29.08.2016 - 13:46)
У меня старый Php
Он не понимает :(
$types = [];

Как исправить?

$types = array();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса