Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: RegExp
Войти
Регистрация
Восстановить пароль
 
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
1

У всех работает?

18.08.2017, 13:00. Просмотров 286. Ответов 10
Метки нет (Все метки)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$src = "/var/www/domains/t/tu/tur/turma.kl.com.ua/docent/";
$dst = "/var/www/domains/t/tu/tur/turma.kl.com.ua/";
 
// removes files and non-empty directories
function rrmdir($dir) {
  if (is_dir($dir)) {
    $files = scandir($dir);
    foreach ($files as $file)
    if ($file != "." && $file != "..") rrmdir("$dir/$file");
    rmdir($dir);
  }
  else if (file_exists($dir)) unlink($dir);
} 
 
// copies files and non-empty directories
function rcopy($src, $dst) {
  if (file_exists($dst)) rrmdir($dst);
  if (is_dir($src)) {
    mkdir($dst);
    $files = scandir($src);
    foreach ($files as $file)
    if ($file != "." && $file != "..") rcopy("$src/$file", "$dst/$file"); 
  }
  else if (file_exists($src)) copy($src, $dst);
}
?>
Вот код. Он выполняет копирование папок и файлов в другую директорию. А у меня не выполняет, надо из папки docent в корень сайта копировать все-все папки и файлы. У меня скрипт не работает, может я что не заметил?

Добавлено через 4 минуты
Я абсолютный путь даже написал - ничего!

Добавлено через 17 секунд
Я абсолютный путь даже написал - ничего!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2017, 13:00
Ответы с готовыми решениями:

Не работает php на wps-е. Гланвая страница работает все остальное нет
На локальном дэнвере все отлично работает. Но при копировании на впс и...

Кнопка подробнее работает не во всех браузерах и не на всех телефонах
Привет, как исправить можно эту проблему ? на сайте...

Не на всех ПК работает
Приветствую всех! Создала программку в VB studio 2010. На форме находятся три...

Календарь работает не на всех ПК
Здраствуйте. возникла такая ситуация. мне в документ надо было вставить...

Программа работает не на всех ПК
Доброго времени суток. Делаю динамическое добавление dll, у меня все работает...

10
Jewbacabra
Эксперт PHP
3569 / 2964 / 1318
Регистрация: 24.04.2014
Сообщений: 9,006
18.08.2017, 21:13 2
Цитата Сообщение от yfenok Посмотреть сообщение
Он выполняет копирование папок и файлов в другую директорию
Неправда, этот код ничего не делает
0
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
19.08.2017, 07:45  [ТС] 3
Jewbacabra, как? Я из php.net скопировал.
0
mrNTF
272 / 200 / 142
Регистрация: 22.01.2016
Сообщений: 637
19.08.2017, 09:08 4
лол, а вызывать функции кто будет?
0
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
19.08.2017, 10:11  [ТС] 5
mrNTF, rrmdir($src, $dst);
я так понял?
0
Jewbacabra
Эксперт PHP
3569 / 2964 / 1318
Регистрация: 24.04.2014
Сообщений: 9,006
19.08.2017, 11:18 6
Можно упростить, избавившись от явной рекурсии
Код не проверял
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function rrmdir($path) {
    $iterator = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS),
        RecursiveIteratorIterator::CHILD_FIRST
    );
    foreach ($iterator as $item) {
        if ($item->isDir()) {
            rmdir($item->getPathname());
        } else {
            unlink($item->getPathname());
        }
    }
}
 
function rcopy($src, $dest) {
    $iterator = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($src),
        RecursiveIteratorIterator::SELF_FIRST
    );
    $fullSrc = rtrim(realpath($src), '\\/');
    $prefixLength = mb_strlen($fullSrc);
    $dest = rtrim($dest, '\\/');
    foreach ($iterator as $item) {
        $path = ltrim('\\/', mb_strcut($item->getRealPath(), $prefixLength));
        if ($item->isDir()) {
            mkdir($dest . DIRECTORY_SEPARATOR . $path);
        } else {
            copy($item->getRealPath(), $dest . DIRECTORY_SEPARATOR . $path);
        }
    }
}
0
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
20.08.2017, 10:09  [ТС] 7
Jewbacabra, но в папке docent очень много папок и файлов их надо все перемещать

Добавлено через 21 час 52 минуты
Jewbacabra, что должно быть в переменных $src, $dest, $path (я про твой код)?
0
Jewbacabra
Эксперт PHP
3569 / 2964 / 1318
Регистрация: 24.04.2014
Сообщений: 9,006
20.08.2017, 11:31 8
Цитата Сообщение от yfenok Посмотреть сообщение
что должно быть в переменных $src, $dest, $path (я про твой код)?
Температура воздуха на марсе в тени и длина питона в попугаях.
Серьезно, 1 функция удаляет папку, другая копирует. Есть какие-то варианты что может принимать такая функция?
0
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
20.08.2017, 12:55  [ТС] 9
Jewbacabra, вы говорите, что сначала удаляется папка, а затем копируется? может....
0
Jewbacabra
Эксперт PHP
3569 / 2964 / 1318
Регистрация: 24.04.2014
Сообщений: 9,006
20.08.2017, 13:57 10
Цитата Сообщение от yfenok Посмотреть сообщение
вы говорите, что сначала удаляется папка, а затем копируется
Где я такое говорил?
0
yfenok
4 / 4 / 0
Регистрация: 12.05.2016
Сообщений: 137
20.08.2017, 14:41  [ТС] 11
Jewbacabra, значит код не один ни работает....

Добавлено через 14 минут
PHP
1
rcopy($src, $dst); // это надо
14:45 - скрипт походу заработал, но все файлы удалились.

Добавлено через 18 секунд
PHP
1
rcopy($src, $dst); // это надо
14:45 - скрипт походу заработал, но все файлы удалились.
0
20.08.2017, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2017, 14:41

Программа работает не на всех ПК
program vector; uses GraphABC,PointRect,crt; var bang,eang,r:word; ...

Outlook не работает у всех сотрудников
У нас на предприятия стоит и почтовый сервер (Exchange) и файловые сервер,...

программа работает не на всех компах
Кто знает почему программа на одних компах работает на других нет? в чем может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru