X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Скан директории в корне домена с его поддомена
Licoric
Licoric
Topic Starter сообщение 1.3.2014, 21:48; Ответить: Licoric
Сообщение #1


Думал, как по короче тему написать.
Суть: есть домен (корень). Там папка с картинками.
Есть поддомен у этого домена.
Я хочу с поддомена читать папку с картинками на домене. ну и удалять, добавлять картинки и т.д.

Это возможно без костылей?

ps папка с доменом лежит рядом с папкой поддомена.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 1.3.2014, 22:40; Ответить: Licoric
Сообщение #2


Желательно без "удаленного" доступа туда по фтп (логин/пароль).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 1.3.2014, 22:45; Ответить: Licoric
Сообщение #3


Недогуглил)))
[PHP]if ($handle = opendir('../другой_домен/images/')) {
echo "Дескриптор каталога: $handle\n";
echo "Файлы:\n";

while (false !== ($file = readdir($handle))) {
echo $file."<br>\n";
}

closedir($handle);
}[/PHP]
Надо только пути поправить, что бы было то, что нужно.
Тема "закрыта".
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 1.3.2014, 23:09; Ответить: Licoric
Сообщение #4


Реально вообще к такому коду прикрутить листалку? Типа, что бы была пагинация с выводом по 5-10 изображений?
[PHP] echo "<table border=\"1\" width=\"100%\">";
if ($handle = opendir('../domain_dir/images/')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "<tr valign=\"top\"><td width=\"50%\"><img src=\"http://domain_dir/images/".$file."\"></td><td><a href=\"#\">Удалить</td></tr>";
}
}
closedir($handle);
}
echo "</table>";
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
A1ex_hb
A1ex_hb
сообщение 1.3.2014, 23:33; Ответить: A1ex_hb
Сообщение #5


Как-то так:
[PHP]<?
echo "<table border=\"1\" width=\"100%\">";
$limit = 5;
$offset = (int)(isset($_GET['offset'])?$_GET['offset']:0);
$files = glob('../domain_dir/images/*.*');
foreach($files as $k=>$file) {
if($k<$offset)continue;
if($k>=$offset+$limit)break;
echo "<tr valign=\"top\"><td width=\"50%\"><img src=\"http://domain_dir/images/".basename($file)."\"></td><td><a href=\"#\">Удалить</a></td></tr>";
}
echo "</table>";

echo (($offset>=$limit)?'<a href="?offset='.($offset-$limit).'">Назад</a>':'')."|".
(($offset+$limit<sizeof($files))?'<a href="?offset='.($offset+$limit).'">Вперед</a>':''); [/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 1.3.2014, 23:51; Ответить: Licoric
Сообщение #6


О... збс)))
Вообще спасибо))) Сразу как-то не допер, что так можно)))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 2.3.2014, 9:39; Ответить: Den1xxx
Сообщение #7


(Licoric @ 2.3.2014, 00:48) *
Я хочу с поддомена читать папку с картинками на домене.

Функций работы с файловой системой не хватает в PHP.
Вот здесь посмотрите, проверено годами, Ваша в 211 строке, но и другие могут пригодиться:
https://github.com/Den1xxx/ReloadCMS/blob/m...system.php#L211

(Licoric @ 2.3.2014, 02:09) *
Реально вообще к такому коду прикрутить листалку? Типа, что бы была пагинация с выводом по 5-10 изображений?

Пагинацию имхо тоже надо много где, и лучше использовать функцией.
См. со строки 44:
https://github.com/Den1xxx/ReloadCMS/blob/m...mplates.php#L44
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 10.4.2014, 1:32; Ответить: Arks
Сообщение #8


(Den1xxx @ 2.3.2014, 12:39) *
Ваша в 211 строке, но и другие могут пригодиться

Почему не используется preg_quote?
Что за странные замены * и . ?
$do_not_filter(исходное условие функции) проверяется в цикле да еще и после вызова условия с substr - это неправильно.
(empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename)) - еще в более вложенном цикле, вообще без комментариев.
natsort - круто конечно но почему обязательно?

Ваш код может в любом случае работать быстрее если его подвергнуть декомпозиции и привести в божеский вид.
Вообще лучше избегать циклов while если Вы не уверены что они завершатся через n итераций. С ФС в этом ну никак нельзя быть уверенным - получите скорее всего segfault или в худшем случае stack overflow.

Здесь бы помогло ООП или банально ФП(Closure'ы), если бы представляли работу алгоритма до того как писать код и тем более советовать его другим.
Как минимум с точки зрения алгоритма Ваша функция перенасыщена параметрами:
1. $exp - если это критерий фильтрации то он не должен проверяться в цикле уже после дергания файла. На это сделана функция glob
2. $type - тут возможно всего два типа - файл и директория, опять же не должен проверяться в цикле. Хотя SPL сама по себе гораздо более тяжеловесная, но в ней это уже давно реализовано на уровне прекомпилятора.

Это все только рекомендации по упрощению кода, производительность может отличаться как в лучшую так и нет сторону - на копейки, никто не спорит. Лично я поэтому в коде предпочитаю не экономить на спичках в жертву удобочитаемости и байтиков памяти.

(Licoric @ 2.3.2014, 00:48) *
Я хочу с поддомена читать папку с картинками на домене. ну и удалять, добавлять картинки и т.д.

Это возможно без костылей?

Подобная постановка вопроса это уже само по себе - костыль. Нечего домену читать на php папки с поддоменов. Уже давно изобрели симлинки, которые при желании достаточно просто потом заменяются на nfs-шары!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 10.4.2014, 7:45; Ответить: Den1xxx
Сообщение #9


(Arks @ 10.4.2014, 04:32) *
Почему не используется preg_quote?
Что за странные замены * и . ?
$do_not_filter(исходное условие функции) проверяется в цикле да еще и после вызова условия с substr - это неправильно.
(empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename)) - еще в более вложенном цикле, вообще без комментариев.
natsort - круто конечно но почему обязательно?

Ваш код может в любом случае работать быстрее если его подвергнуть декомпозиции и привести в божеский вид.
Вообще лучше избегать циклов while если Вы не уверены что они завершатся через n итераций. С ФС в этом ну никак нельзя быть уверенным - получите скорее всего segfault или в худшем случае stack overflow.

Вместо пространных описаний, которые не хочется читать, взяли бы и исправили в исходнике, с комментарием.
Я уверен, что Вы зарегистрированы на Гитхабе.

А функция уже 5 лет работает без изменений — по заданной регулярке сливает названия файлов и папок в массив.
Для последующей обработки.
Да, конечно, если массив сильно большой, памяти может не хватить.
Но пока такой ошибки не было.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Можно ли в старый SEO текст вместо старого домена поставить новый?
3 Tutich 1214 22.3.2024, 14:47
автор: Tutich
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыТы умеешь лить траф с FB? Мы монетизируем его через Телеграм на ИНДИИ.
0 Sirbet 507 14.2.2023, 21:39
автор: Sirbet
Открытая тема (нет новых ответов) Куплю выгрузку из serp stat для одного домена
serp stat для одного домена
1 Smartseowork 1563 24.5.2022, 20:49
автор: Latinos
Открытая тема (нет новых ответов) Ищу прогонщика с возможностью выборки Domain Rating (DR) по его базе.
0 regem 4565 25.5.2020, 3:12
автор: regem
Открытая тема (нет новых ответов) Восстановление сайта из WebArchive вашего домена
Получите очищений HTML + скрипт системы редактирования контента
1 Shaltick 4818 23.5.2020, 20:36
автор: splashid


 



RSS Текстовая версия Сейчас: 19.4.2024, 19:39
Дизайн