Здравейте,
Искам да интегрирам към уеб сайта си някакъв скрипт с които играчите да си качват демото от cs-sa и да го визуализирам чрез някакъв плайър.
Това възможно ли е и може ли да ме ориентирате нещо?
Благодаря Ви.
VIP
|
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 |
aim_map2 Играчи: 4/16 |
|
VIP
|
93.123.16.4:27022 | Cs-PlovdiV.com - Aim Attack | aim_map2 | 4/16 |
PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
-
bringmefans1
Извън линия - Потребител
- Мнения: 50
- Регистриран на: 27 Фев 2018, 14:17
- Се отблагодари: 6 пъти
- Получена благодарност: 3 пъти
-
V.A.L.V.E
Извън линия - Потребител
- Мнения: 445
- Регистриран на: 18 Дек 2016, 22:48
- Се отблагодари: 110 пъти
- Получена благодарност: 71 пъти
- Обратна връзка:
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
Създай MySQL база данни и таблица за съхранение на демотата.
SQL файл:
CREATE DATABASE demo_database; USE demo_database; CREATE TABLE demos ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, description TEXT, file_name VARCHAR(255) NOT NULL, upload_date DATETIME NOT NULL, PRIMARY KEY (id) );
Създай HTML форма за качване на демота, която да изглежда ето така:
<form action="upload.php" method="post" enctype="multipart/form-data"> <label for="demo-name">Име на демото:</label> <input type="text" name="demo-name" id="demo-name" required> <br> <label for="demo-description">Описание на демото:</label> <textarea name="demo-description" id="demo-description"></textarea> <br> <label for="demo-file">Файл:</label> <input type="file" name="demo-file" id="demo-file" required> <br> <input type="submit" value="Качи"> </form>
Създай файл с име upload.php и добави този скрипт
<?php // Проверка за валидност на формата и файла if (!isset($_POST['demo-name']) || !isset($_FILES['demo-file'])) { die('Невалидна форма'); } $demo_name = $_POST['demo-name']; $demo_description = isset($_POST['demo-description']) ? $_POST['demo-description'] : ''; $demo_file_name = $_FILES['demo-file']['name']; $demo_file_tmp_name = $_FILES['demo-file']['tmp_name']; $demo_file_error = $_FILES['demo-file']['error']; // Проверка за грешки при качването на файла if ($demo_file_error !== UPLOAD_ERR_OK) { die('Грешка при качване на файла'); } // Генериране на уникално име на файла $demo_file_extension = pathinfo($demo_file_name, PATHINFO_EXTENSION); $demo_file_unique_name = uniqid() . '.' . $demo_file_extension; // Записване на информацията за демото в базата данни $db = new mysqli('localhost', 'username', 'password', 'database_name'); if ($db->connect_error) { die('Грешка при свързване с базата данни'); } $sql = "INSERT INTO demos (name, description, file_name, upload_date) VALUES (?, ?, ?, NOW())"; $stmt = $db->prepare($sql); $stmt->bind_param('sss', $demo_name, $demo_description, $demo_file_unique_name); $stmt->execute(); // Копиране на файла в директория, достъпна за изпълнението на PHP скрипта $demo_file_destination = 'demos/' . $demo_file_unique_name; if (!move_uploaded_file($demo_file_tmp_name, $demo_file_destination)) { die('Грешка при записване на файла'); } echo 'Демото е качено успешно'; ?>
Създай страница за листинг на демотата с име watch.php Тя може да изглежда например така:
<!DOCTYPE html> <html> <head> <title>Демота</title> </head> <body> <h1>Демота</h1> <ul> <?php $db = new mysqli('localhost', 'username', 'password', 'database_name'); if ($db->connect_error) { die('Грешка при свързване с базата данни'); } $result = $db->query("SELECT * FROM demos ORDER BY upload_date DESC"); while ($row = $result->fetch_assoc()) { echo '<li><a href="watch.php?id=' . $row['id'] . '">' . $row['name'] . '</a></li>'; } $db->close(); ?> </ul> </body> </html>
И тук също добави данните си за кънекция към базата данни.
Не съм тествал скрипта, не гарантирам дали работи, тествай го с PHP версия 7.0+ т.е 7.0,7.2 или 7.4
SQL файл:
CREATE DATABASE demo_database; USE demo_database; CREATE TABLE demos ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, description TEXT, file_name VARCHAR(255) NOT NULL, upload_date DATETIME NOT NULL, PRIMARY KEY (id) );
Създай HTML форма за качване на демота, която да изглежда ето така:
<form action="upload.php" method="post" enctype="multipart/form-data"> <label for="demo-name">Име на демото:</label> <input type="text" name="demo-name" id="demo-name" required> <br> <label for="demo-description">Описание на демото:</label> <textarea name="demo-description" id="demo-description"></textarea> <br> <label for="demo-file">Файл:</label> <input type="file" name="demo-file" id="demo-file" required> <br> <input type="submit" value="Качи"> </form>
Създай файл с име upload.php и добави този скрипт
<?php // Проверка за валидност на формата и файла if (!isset($_POST['demo-name']) || !isset($_FILES['demo-file'])) { die('Невалидна форма'); } $demo_name = $_POST['demo-name']; $demo_description = isset($_POST['demo-description']) ? $_POST['demo-description'] : ''; $demo_file_name = $_FILES['demo-file']['name']; $demo_file_tmp_name = $_FILES['demo-file']['tmp_name']; $demo_file_error = $_FILES['demo-file']['error']; // Проверка за грешки при качването на файла if ($demo_file_error !== UPLOAD_ERR_OK) { die('Грешка при качване на файла'); } // Генериране на уникално име на файла $demo_file_extension = pathinfo($demo_file_name, PATHINFO_EXTENSION); $demo_file_unique_name = uniqid() . '.' . $demo_file_extension; // Записване на информацията за демото в базата данни $db = new mysqli('localhost', 'username', 'password', 'database_name'); if ($db->connect_error) { die('Грешка при свързване с базата данни'); } $sql = "INSERT INTO demos (name, description, file_name, upload_date) VALUES (?, ?, ?, NOW())"; $stmt = $db->prepare($sql); $stmt->bind_param('sss', $demo_name, $demo_description, $demo_file_unique_name); $stmt->execute(); // Копиране на файла в директория, достъпна за изпълнението на PHP скрипта $demo_file_destination = 'demos/' . $demo_file_unique_name; if (!move_uploaded_file($demo_file_tmp_name, $demo_file_destination)) { die('Грешка при записване на файла'); } echo 'Демото е качено успешно'; ?>
- Проверка за валидност на формата и файла
Генериране на уникално име на файла (например, базирано на текущата дата и час)
Записване на информацията за демото в базата данни
Копиране на файла в директория, достъпна за изпълнението на PHP скрипта
Създай страница за листинг на демотата с име watch.php Тя може да изглежда например така:
<!DOCTYPE html> <html> <head> <title>Демота</title> </head> <body> <h1>Демота</h1> <ul> <?php $db = new mysqli('localhost', 'username', 'password', 'database_name'); if ($db->connect_error) { die('Грешка при свързване с базата данни'); } $result = $db->query("SELECT * FROM demos ORDER BY upload_date DESC"); while ($row = $result->fetch_assoc()) { echo '<li><a href="watch.php?id=' . $row['id'] . '">' . $row['name'] . '</a></li>'; } $db->close(); ?> </ul> </body> </html>
И тук също добави данните си за кънекция към базата данни.
Не съм тествал скрипта, не гарантирам дали работи, тествай го с PHP версия 7.0+ т.е 7.0,7.2 или 7.4
-
bringmefans1
Извън линия - Потребител
- Мнения: 50
- Регистриран на: 27 Фев 2018, 14:17
- Се отблагодари: 6 пъти
- Получена благодарност: 3 пъти
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
Здравей,
Благодаря много за информацията. Аз съм PHP програмист.
Не ми е проблема как ще качваме файловете и как ще ги визуализирам.
Проблема ми е как ще възпроизведа .dem файловете от Counter Strike директно в браузъра под формата на видеоплаър.
https://github.com/skyrim/hlviewer.js
Намерих това като решение, но не мога да стартирам картите...
Благодаря много за информацията. Аз съм PHP програмист.
Не ми е проблема как ще качваме файловете и как ще ги визуализирам.
Проблема ми е как ще възпроизведа .dem файловете от Counter Strike директно в браузъра под формата на видеоплаър.
https://github.com/skyrim/hlviewer.js
Намерих това като решение, но не мога да стартирам картите...
-
V.A.L.V.E
Извън линия - Потребител
- Мнения: 445
- Регистриран на: 18 Дек 2016, 22:48
- Се отблагодари: 110 пъти
- Получена благодарност: 71 пъти
- Обратна връзка:
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
За да възпроизведеш .dem файлове с PHP, можеш да използваш HTML5 видео плеъри като Video.js, който има поддръжка за множество формати на видео файлове, включително .dem. Просто посочи URL адреса на твоя .dem файл в тага за видео на твоя уеб сайт и Video.js ще го възпроизведе автоматично.bringmefans1 написа: ↑21 Мар 2023, 21:25 Здравей,
Благодаря много за информацията. Аз съм PHP програмист.
Не ми е проблема как ще качваме файловете и как ще ги визуализирам.
Проблема ми е как ще възпроизведа .dem файловете от Counter Strike директно в браузъра под формата на видеоплаър.
https://github.com/skyrim/hlviewer.js
Намерих това като решение, но не мога да стартирам картите...
-
pok4
Извън линия - Потребител
- Мнения: 160
- Регистриран на: 05 Фев 2022, 14:38
- Се отблагодари: 2 пъти
- Получена благодарност: 74 пъти
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
Няма да стане, тъй като демотата са зависими от други неща от играта. (скинове, карти и т.н.)
Това, което е намерил може и да свърши работа, но не знам дали ще се изобразява всичко. Сам вижда автора на темата колко е голямо.
С HTML5 видео плеъри каквито и да са няма да стане, може да ви светне, че има цяла библиотека, която е изградена само за демо файловете от играта... (hlviewer.js)
Моя съвет е да потърси дали има някакъв конвертър (converter), който от dem прави avi/mp4 или друго по-лесно четимо видео.
Ако намериш подобен преобразувател, може локално да се конвентира с php и да си го изведеш с какъвто и да било плеър.
shell_exec е командата, която те интересува и чрез нея може да стартираш локални команди на машината. (изисква safe_mode = off по спомен). Аз съм ползвал shell_exec с ffmpeg, за да слагам воден знак на клипове...
Говоря наизуст, но съм почти сигурен, че няма да стане Това, което си намерил ще ти върши най-добре работа, защото е парснато почти всичко. Стига да си го подкараш... (:
Това, което е намерил може и да свърши работа, но не знам дали ще се изобразява всичко. Сам вижда автора на темата колко е голямо.
С HTML5 видео плеъри каквито и да са няма да стане, може да ви светне, че има цяла библиотека, която е изградена само за демо файловете от играта... (hlviewer.js)
Моя съвет е да потърси дали има някакъв конвертър (converter), който от dem прави avi/mp4 или друго по-лесно четимо видео.
Ако намериш подобен преобразувател, може локално да се конвентира с php и да си го изведеш с какъвто и да било плеър.
shell_exec е командата, която те интересува и чрез нея може да стартираш локални команди на машината. (изисква safe_mode = off по спомен). Аз съм ползвал shell_exec с ffmpeg, за да слагам воден знак на клипове...
Говоря наизуст, но съм почти сигурен, че няма да стане Това, което си намерил ще ти върши най-добре работа, защото е парснато почти всичко. Стига да си го подкараш... (:
-
ChillX
Извън линия - Потребител
- Мнения: 92
- Регистриран на: 19 Дек 2022, 00:40
- Се отблагодари: 1 път
- Получена благодарност: 26 пъти
- Обратна връзка:
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
С HLViewer aka hlviewer.js се възпроизвеждат, това е единствената разработка, но беше адски бъгаво, крашваше, никога не е работило правилно и имаше 100 проблема, а другия проект с локалните файлове на холандеца като гледам също е позамрял (няма да работи без библиотеки ако играта е в program files, проблеми с моделите и тн), включително и Xash3D FWGS проекта, като гледам не работи в chrome но изглежда активен, питай там дали случайно нямат нещо готово и ъпдейтнато, което да използваш.
Други опции, с които да си направиш плеър са X3DOM, CesiumJS, Babylon.js и разбира се Three.js, но ще ти отнеме много време
Други опции, с които да си направиш плеър са X3DOM, CesiumJS, Babylon.js и разбира се Three.js, но ще ти отнеме много време
🅿🆁🅾🅹🅴🅲🆃🆂
𝕀𝕞𝕒𝕘𝕖 𝕌𝕡𝕝𝕠𝕒𝕕 『<』 𝕀𝕞𝕒𝕘𝕖𝕌𝕣𝕝 𝕊𝕙𝕠𝕣𝕥𝕖𝕟𝕖𝕣 『>』ℙ𝕒𝕤𝕤 𝔾𝕖𝕟𝕖𝕣𝕒𝕥𝕠𝕣
-
bringmefans1
Извън линия - Потребител
- Мнения: 50
- Регистриран на: 27 Фев 2018, 14:17
- Се отблагодари: 6 пъти
- Получена благодарност: 3 пъти
Re: PHP или JavaScript или друг уеб скрипт за гледане на демо от 1.6
Крайно изчерпателна информация.ChillX написа: ↑24 Мар 2023, 17:00 С HLViewer aka hlviewer.js се възпроизвеждат, това е единствената разработка, но беше адски бъгаво, крашваше, никога не е работило правилно и имаше 100 проблема, а другия проект с локалните файлове на холандеца като гледам също е позамрял (няма да работи без библиотеки ако играта е в program files, проблеми с моделите и тн), включително и Xash3D FWGS проекта, като гледам не работи в chrome но изглежда активен, питай там дали случайно нямат нещо готово и ъпдейтнато, което да използваш.
Други опции, с които да си направиш плеър са X3DOM, CesiumJS, Babylon.js и разбира се Three.js, но ще ти отнеме много време
Благодаря много колега!
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 9 Отговори
- 4039 Преглеждания
-
Последно мнение от Scorpions95
-
- 9 Отговори
- 1597 Преглеждания
-
Последно мнение от AfterLife
-
- 6 Отговори
- 4023 Преглеждания
-
Последно мнение от V.A.L.V.E
-
- 1 Отговори
- 1786 Преглеждания
-
Последно мнение от V.A.L.V.E
-
- 2 Отговори
- 255 Преглеждания
-
Последно мнение от HeatoN
-
- 1 Отговори
- 749 Преглеждания
-
Последно мнение от RedFoxxx
-
- 1 Отговори
- 1478 Преглеждания
-
Последно мнение от tom1k
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 1 гост