Webowy interfejs dla katalogu plików z dysku

0

Hej. Wpadłem na taki właśnie pomysł jak w nazwie tematu. Powiedzmy, że mam na jakimś dysku zewnętrznym kilka plików, niech będą filmy, każdy ma nazwę w stylu

[2012][sensacyjny][sci-fi]Pamięć_Absolutna.avi

Chciałbym zrobić właśnie taki webowy interfejs, który na podstawie informacji z nazw plików katalogowałby mi te filmy na poziomie "strony internetowej" (przeglądarki).

O ile na poziomie zaprojektowania tego w HTML/PHP/... problemu nie będzie, o tyle pojawia się kilka innych problemów:

No właśnie, plików na serwer wrzucać nie będę, a z poziomu strony internetowej nie wczytam nazw plików na moim dysku. Najlepiej by było, gdyby w tym samym katalogu co owe pliki znajował się jakiś odnośnik, otwierający przeglądarkę i wyświetlający katalog...Szczerze mówiąc, nie mam pojęcia jak i czy da się to zrobić. Da się?

Czy jednak bez C/C++ się nie obejdzie? Jeśli nie...to jak połączyć HTML z C/C++? Moglibyście dać mi jakąkolwiek wskazówkę, jak się za to zabrać?

0

Można w PHP napisać aplikację okienkową. Interpreter PHP to nie tylko moduł dla Apache - możesz sobie "zdobyć" plik exe z interpreterem i wykorzystywać go do uruchamiania własnych aplikacji. Nawet są programy, dzięki którym zrobisz jeden plik exe zawierający interpreter i Twoje skrypty. PHP ma funkcje listujące katalogi itp., więc nie musisz się uciekać do innych języków.

np. tutaj masz rekursywne przechodzenie przez drzewo katalogów http://www.codingforums.com/showthread.php?t=71882

http://4programmers.net/Forum/PHP/188978-php-gtk_jak_sie_korzysta?p=793270#id793270 - na końcu tego tematu masz podane różne formy GUI dla PHP. Ja bym to zrobił w Qt. Kontrolka QTableWidget, w niej możesz w poszczególnych komórkach wstawić przyciski otwierające film, możesz sobie dorobić też filtrowanie, a sortowanie po kolumnach masz wbudowane, tylko trzeba ustawić odpowiednie flagi.

0

O C++ mam nikłe pojęcia. Moge jednak podpowiedzieć ogólnie jak to można zrobić. Na pewno w znanym mi Delphi kombinował bym z napisaniem prostego serwera HTTP, na przykład przy użyciu Indy / Synapse lub pod WinAPI z użyciem Simple Tcp (http://piechnat.pl/article/simpletcp.html). Taki serwer sam by przeszukiwał dany katalog i wyświetlal coś w stylu apachowego widoku jakiegoś ktalogu bez indeksu z plikami - na przykład: http://chiptunes.org/files/Artists/Zalza - kiedyś takie coś chciałem sobie napisać, ale nie mam czasu na testy. Trzeba by tylko wymyśleć jak przekazywać ścieżkę i nazwę pliku, aby po kliknięciu na nią pokazało się okno pobiernia lub po klikaniu na katalog przechodziło by do niego, bo lokalnie odbyło by się to z prefixem file://, a taka zdalna nawigacja po dysku musiała by pewnie wykorzystać jakiś trick. Oczywiście poza odesłaniem klientowi zawartości kodu html przez server w grę wchodzą funkcje WinAPI typu FindFirstFile, FindNextFile, 'FindClose` i inne opisane przy nich na MSDNie do pobiania atrybutów (wiadomo aby rozróznić czy wyszukana pozycja to katalog lub plik). Trzeba by tylko jeszcze te wyniki posortować najlepiej alfabetycznie. Można sobie darować ikonki dla folderów czy plików na początek w fazie testowania rozwiązań. Do tego polecam uruchamiać serwer na jakimś niestandardowym porcie i początkowo spróbowac zrobić jakąs autoryzacje aby nikt nie łaził Tobie po dysku.

EDIT: @Spine mnie ubiegł. Oczywiście postawienie Apache z serwerem PHP to o wiele łatwiejsze rozwiązanie. Ja jednak zrozumiałem, że chciałbyś kominować i zakodować wszystko samodzielnie.

0

Skoro dane mają być pobierane tylko z twojego komputera i wyświetlane tylko na twoim komputerze to dlaczego chcesz postawić aplikację na serwerze zewnętrznym? Jeśli chcesz użyć PHP bo znasz ten język i ci będzie wygodniej to postaw serwer na swoim kompie.

0

PHP w CLI to ciekawa sprawa, dzięki! : D Aplikacji okienkowej wolałbym nie robić, nie mam za bardzo czasu uczyć się Qt od zera.

A istnieje jakiś sposób na zainstalowanie serwera, który powiedzmy miałby jak najmniej plików, żeby nie zakłócać za bardzo struktury katalogów na dysku? Albo może jakiś sposób w windowsie, który od razu po wejściu na partycję przeniesie do jakiegoś wyższego katalogu, dajmy na to /htdocs, bez potrzeby szukania i klikania w niego?

0

W PHP niedawno dodali built-in webserver - http://php.net/manual/en/features.commandline.webserver.php

Czyli możesz używać PHP też dla stron, bez apache :) Tylko musisz mieć binarkę PHP, przynajmniej w wersji 5.4.0.

1 użytkowników online, w tym zalogowanych: 0, gości: 1