Рейтинг:
0
Abdul Rahman
Спасибо за ваш ответ. Но когда я попробовал вот так, то ничего не вышло ... пожалуйста, помогите..
<?php
$это = новый recursivedirectoryiterator упакован("D:/xampp/htdocs/Tests/search_images_inDirectory/folder");
$display = Array ( 'jpeg', 'jpg' );
$дест = 'D:/xampp/htdocs/Tests/search_images_inDirectory/imgs';
foreach(new RecursiveIteratorIterator($it) as $file)
{
if (in_array(strtolower(array_pop(explode('.', $file))), $display))
эхо-файл . " \северный";
copy($file, $dest);
}
?>
Jochen Arndt
Что значит "он терпит неудачу"?
Однако ваш код будет копировать каждый файл, потому что команда copy() находится вне условия проверки расширения, и вам нужно создать полный путь назначения для назначения копирования:
$destpath = $dest + "\" + basename($file);
Abdul Rahman
//copy(): первый аргумент функции copy() не может быть каталогом //
Это ошибка, которую я получаю.
Jochen Arndt
Вероятно, это связано с ошибкой, о которой я упоминал в своем предыдущем посте. Так и должно быть
if (in_array(strtolower(array_pop(explode('.', $file))), $display)) {
echo $file . " \n";
copy($file, $dest);
}
Скобки отсутствуют в вашем коде, так что copy() вызывается для каждый найденный файл, включая имена каталогов.
Abdul Rahman
он повторяет все файлы..Но я не могу скопировать эти изображения в другую указанную папку..
я дал папку назначения, как вы сказали..
$destpath = $dest + "\" + basename($file);..
но команда копирования не работает..
связано ли это с версиями php? я использую 5.6
Спасибо за все ваши ответы.
Abdul Rahman
<?php
$это = новый recursivedirectoryiterator упакован("D:/xampp/htdocs/Tests/search_images_inDirectory/folder");
$display = Array ( 'jpeg', 'jpg' );
foreach(new RecursiveIteratorIterator($it) as $file)
{
$дест = 'D:/xampp/htdocs/Tests/search_images_inDirectory/imgs/';
if (in_array(strtolower(array_pop(explode('.', $file))), $display))
эхо-файл . " \северный";
$destpath = $dest + "/" + basename($file);
//copy($file, $dest);
//move_uploaded_file($file, "$destpath");
if (!move_uploaded_file($file, "destpath")) {
Эхо "провалилось.";
}
еще{
Эхо "успеха";
}
}
?>
Это последний код, который повторяет все файлы изображений..но не копирует в путь назначения..
Jochen Arndt
Команда copy() требует, чтобы
- источник-это полный путь к существующему файлу (например, c:\folder\file.ext)
- у вас есть доступ на чтение к исходному файлу
- пункт назначения-это полный путь (например, c:\other-folder\file.ext)
- каталог назначения (полный путь без имени файла) существует
- у вас есть доступ на запись в каталог назначения
Поэтому распечатайте оба параметра и проверьте, применимо ли вышеизложенное.
Abdul Rahman
Все вопросы разрешения в порядке. Я чертовски смущен, почему эта функция copy() не работает.
Спасибо за ваши Промт-ответы.