Следующий код возвращает случайное фото из каталога:
$http_host = filter_input(INPUT_SERVER, 'HTTP_HOST');
$request_uri = filter_input(INPUT_SERVER, 'REQUEST_URI');
$request_uri = substr($request_uri, 0, strpos($request_uri, '/', 1) + 1);
$user_id = filter_input(INPUT_GET, 'user_id', FILTER_VALIDATE_INT);
$srand = filter_input(INPUT_GET, 'srand', FILTER_VALIDATE_INT);
if( $user_id && $srand ){
$DirPath = 'D:/Photo/'.$user_id.'/';
$Photos = (array)glob($DirPath.'*.jpg');
srand($srand);
$Photo = $Photos[array_rand($Photos)];
if(!$Photo ) $Photo = 'DefaultPhoto.jpg';
header('Location: http://'.$http_host.$request_uri.$Photo);
}
Когда $DirPath
был относительным и находился в каталоге сайта, всё работало. Когда архив был перенесен на отдельный диск, фотографии перестали возвращаться по ссылке. var_dump
показывает корректный путь к файлу.
Как реализовать возврат по ссылке если файлы на другом диске?
Во-первых, выучить, как "Отче наш", чем отличаются файлы на диске от HTTP ресурсов. Чтобы в принципе не возникало вопросов, "а почему веб-сервер не показывает белиберду типа http://example.com/path/D:/Photo/34465656/kartinka.jepege
?"
Во-вторых, или настроить отдельный веб-сервер для картинок (и отдавать в локейшен корректный URL картинки), либо использовать readfile(), что скажется на производительности, но это, как я понимаю, на данный момент проблемой не является.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть таблица в doctrine в формате phpВыглядит она следующим образом
Почему то письмо отправляется в любом случае, в не зависимости от заполненных форм что не так? Тестирую на open servere
Есть n-кол-во массивовНужно проверить все эти массивы с одним и найти хотя бы одно совпадения, если есть, то возвращать true, если нету не одного...
пытаюсь достать данные с db при помощи PDO но получаю ошибку: