Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Отображение PDF на весь экран и ещё пара нубских вопросов по HTML

Отображение PDF на весь экран и ещё пара нубских вопросов по HTML

Страницы: 1 2 Следующая »
-=MASTER=-Забаненwww2 янв. 201821:40#0
Ребят, в общем-то в HTML я нубъ :-) Что нужно в коде HTML написать, что бы, ну скажешь, у того же nginx-а попросить PDF-ку из определённой серверной папки и отобразить её на весь экран страницы на телефоне? iframe?
Не, понятно, что для HTML плагины нужны, ну допустим, браузер - хром последний, ОС - андройд последний.

И ещё. Как у сервера правильно запросить список файлов в серверной папке?

ZabПостоялецwww2 янв. 201823:12#1
-=MASTER=-
>Что нужно в коде HTML написать, что бы попросить PDF-ку из определённой серверной папки и отобразить её на весь экран
Для этого не нужен html, просто скармливаешь броузеру url к pdf-файлу.

>Как у сервера правильно запросить список файлов в серверной папке?
Никак. Html не умеет выдавать список файлов, потому как протокол http не содержит такой функциональности.
Есть надстройка над http под названием WebDAV - она умеет, но для этого сервер должен ее поддерживать.
Для "простых смертных юзеров" WebDAV могут и не включать, это скорее средство администрирования сайтов, альтернатива ftp,

Правка: 2 янв. 2018 23:17

-=MASTER=-Забаненwww2 янв. 201823:40#2
Zab
> Для этого не нужен html, просто скармливаешь броузеру url к pdf-файлу.
ну, ну это понятно, но каким чёрт возьми тэгов это оформить в HTML коде страницы? :-)

Zab
> Никак.
что значит никак, а что, через POST/GET запросы у сервака нельзя что-ли какой-то массив спросить?

ZabПостоялецwww3 янв. 20180:08#3
-=MASTER=-
> ну, ну это понятно, но каким чёрт возьми тэгов это оформить в HTML коде страницы? :-)
Как обычно:
<a href="URL">Некоторый текст</a>
Вставляешь такой переход туда, где хочешь показать.

> что значит никак, а что, через POST/GET запросы у сервака нельзя что-ли какой-то массив спросить?
Если протокол вообще не имеет такой функциональности, как ты тут запросишь? И зачем это нужно для html? Сайты без этого как-то живут, а для администрирования есть другие протоколы.

-=MASTER=-Забаненwww3 янв. 20180:09#4
Zab
> И зачем это нужно для html?
мне нужно на странице сделать нечто вроде файл эксполрера, ну что бы видно было, какие файлы в серверной папке лежат... Как это сделать?

Правка: 3 янв. 2018 0:10

ZabПостоялецwww3 янв. 20180:18#5
-=MASTER=-
> мне нужно на странице сделать нечто вроде файл эксполрера, ну что бы видно было, какие файлы в серверной папке лежат... Как это сделать?
Через WebDAV или через FTP, в зависимости от того, что сервер поддерживает. Для этого сервер должен пустить клиента по одному из этих протоколов.
Возможно какой то из компонентов html5 содержит аналогичную функциональность, не знаю.
ZabПостоялецwww3 янв. 20180:22#6
Можешь еще на сервер php-скрипт посадить, который будет список файлов выдавать. В каком формате - твое дело.
-=MASTER=-Забаненwww3 янв. 20180:33#7
Zab
> Можешь еще на сервер php-скрипт посадить, который будет список файлов выдавать
сервак мой на C++, я просто не в курсе, что спросить в HTML и что ответить серверу, что бы передать с сервака какой-то массив со списком файлов.. Как вообще массив передавать с сервака в HTML ? ))))
ZabПостоялецwww3 янв. 20180:38#8
-=MASTER=-
> сервак мой на C++, я просто не в курсе, что спросить в HTML и что ответить
> серверу, что бы передать с сервака какой-то массив со списком файлов.. Как
> вообще массив передавать с сервака в HTML ? ))))
Делаешь динамическую страницу, вот и все. В ответ на GET по какому-то url выдаешь не содержимое файла, а сформированный тобой html-текст, содержащий переходы на каждый из файлов.
На сервере это все делается, клиент к нужной информации доступа так просто не имеет.

Правка: 3 янв. 2018 0:39

-=MASTER=-Забаненwww3 янв. 20180:59#9
Zab
> В ответ на GET по какому-то url выдаешь не содержимое файла, а сформированный
> тобой html-текст
Ааа...чёрт возьми, вот оно как работает, то есть я как бы на серваке формирую содержимое клиента... 
Ладно, не кидайся тапками, просто скажи, как сделать GET запрос ухаха ?)))
<?php
$data = $_GET['server_data']
?>

так что ли?  А как это как бы вставить в страницу, ну типа там придёт текст HTML со списком файлов, и как его интегрировать в страницу? :-D

Правка: 3 янв. 2018 1:03

ZabПостоялецwww3 янв. 20181:16#10
Скрипты вообще не нужны на клиенте, просто переходишь на url динамической страницы, на которой уже все сверстано на сервере. Самый тупой html из десятка тэгов, больше ничего не нужно, если не желаешь как-то разукрашивать.

GET посылает любой броузер, когда переходит на новую страницу. Специально его посылать незачем.

Правка: 3 янв. 2018 1:34

eMan.LivedПостоялецwww3 янв. 20185:26#11
Если у тебя апач, то добавляешь в файл .htaccess "Options +Indexes"
В папках где хочешь смотреть списки файлов не должн находится файлов index.html, index.htm и подобных. Будет что-то вроде:
Изображение

Тут подробнее http://yellowlemon.net/memo/htaccess/listing-faylov-spisok-faylov… ervere-apache

+

Здесь для nginx'а http://geeksmagazine.org/post/394/vklyuchenie-pokaza-spiska-fajlov-v-nginx

Правка: 3 янв. 2018 5:27

MrShoorУчастникwww3 янв. 20187:59#12
Для начала тебе надо разобраться что такое http, а что такое html. Сервер на C++ это конечно круто, но без знаний проще апач поставить, ибо твой сервер будет лагучим падучим говном не поддерживающим львиную долю фич.
-=MASTER=-Забаненwww3 янв. 201810:11#13
Zab
> GET посылает любой броузер, когда переходит на новую страницу.
А... всё понял. Последний вопрос, как послать POST запрос? :-)
eMan.Lived
> Если у тебя апач
нее, свой буду делать )
MrShoor
> . Сервер на C++ это конечно круто, но без знаний проще апач поставить
Да ну брось, ты опять переоцениваешь значимость каких-то микро знаний, которые можно нагуглить... Я делаю сервак чисто под себя, под свои сайты, а ввиду того, что в будущем там будет много чего специфичного, тот же AI, нужно будет обрабатывать много специальных запросов, которые удобней самому на крестах обрабаывать... Ну вот смотри, для старта, то есть для базовой версии, я планирую учесть следующее:
1. Слушаю конкретный IP и порт
2. Замучу thread pool на кол-во потоков, по дефолту равное кол-ву ядер CPU (виртуальных). Если на клиента нет свободного рабочего потока - в очередь.
3. Ввиду того, что суммарно, по крайней мере на старте, все данные сервера не будут превышать 1 гигабайт - гружу весь сайт в ОЗУ, откуда и раздаю файлы клиентам в разных потоках, что бы не терять время на обращение к харду.
4. Вот в самой первой версии, буду обрабатывать вообще наверное только GET, проверяя путь к запрашиваемому файлу, что бы он не оказался вне папки сайта, ну мало ли, захотят стянуть что-то другое :-)
5. Когда дойду до POST-ов, не буду тупо выделять память под его размер, т.к. тот же злобный хацкер может указать там любой размер и меня сервак тупо упадёт из-за отсутствия памяти...
6. От ddos-серов тоже может что-то придумаю, допустим сделаю вообще белый список, что бы если IP левый - в самом начале его дисконнектить, хотя может и это не поможет...
7. Вообще, не вижу смысла делать поддержку каких-то фишек, которые мне не нужны. Чем больше такой поддержки - тем больше вероятность косяка и вероятной "дыры".

Что я ещё не учёл? :-)

Правка: 3 янв. 2018 10:37

MrShoorУчастникwww3 янв. 201812:05#14
-=MASTER=-
> Да ну брось, ты опять переоцениваешь значимость каких-то микро знаний, которые
> можно нагуглить...
Так а что же ты не нагуглил, а пришел сюда с вопросами?

> Я делаю сервак чисто под себя, под свои сайты, а ввиду того, что в будущем там
> будет много чего специфичного, тот же AI, нужно будет обрабатывать много
> специальных запросов, которые удобней самому на крестах обрабаывать...
Если нужно плюсовый код вызывать - это никогда не было проблемой. Можно взять тот же php, и обернуть свой плюсовый код в php extension. А на винде так вообще можно функции из любой dll вызывать.

> Ну вот смотри, для старта, то есть для базовой версии, я планирую учесть
> следующее:
Ну вот смотри. Для старта, то есть для базовой версии тебе надо будет изучить http протокол. Это всякие url encode. Потом разобраться с charset-ами. Потом тебе захочется локального кешинга (например чтобы не слать картинки/файлы которые не менялись по сети каждый раз можно посылать ответ 302). Потом POST запросы (может даже с mutlipart которые еще не так просто попарсить). Потом может захотеться кукисов (а иначе как сессию сохранять?). Потом может захотеться Accept-Ranges с Keep-Alive (а если ajax то только так и делать). Потом может захотеться компресиию (если много данных отдавать будешь).

Ты точно хорошо себе представляешь http? Вкратце протокол выглядит вот так:

+ Показать

И после того как ты закончишь с http тебе предстоит начать месить html с C++ кодом в одной каше либо писать свой шаблонизатор, когда в php все из коробки.

А конкретно твоя задача - отдавать список файлов в директории в виде ссылок - 10-20 строк кода на php.

Правка: 3 янв. 2018 12:06

Страницы: 1 2 Следующая »

/ Форум / Программирование игр / Веб

2001—2018 © GameDev.ru — Разработка игр