PHP Форма загрузки скинов

Nicolayka

Владелец
Команда форума
Регистрация
4 Апр 2025
Сообщения
24
Реакции
0
Баллы
1
Город
Санкт-Петербург
Веб-сайт
paxgame.ru
Discord
nicolayka
Я бы хотел вам рассказать про подгрузку текстуры с сайта как на примере скинов в Майнкрафте.
Пожалуй начнем, я не буду объяснять как это сделать на примере Java весь код для подгрузки текстуры находится в клиенте( EntityPlayer подсказка Плащ).
Я лишь выложу веб часть, для загрузки текстуры на сервер, написано на PHP!
Обновлен код загрузки текстуры на сервер, теперь можно выбрать что мы хотим загрузить!
PHP:
<center>
    <form enctype='multipart/form-data' action='' method=post>
        <br />
            <p>Ваш ник нейм: <input type=text name='username'></p>
        <br />
            <p><input type="radio" name='NameRadioButton' value='1'> Скин
        <br />
            <input type="radio" name='NameRadioButton' value='2'> Плащ
        <br />
            <input type="radio" name='NameRadioButton' value='2'> Щит</p>

        <input type=file name='userfile' size=9999>
        <input type=submit value='Сохранить'></form>
</center>

<?
$player = $_POST['username'];
    if($player == NULL){
        $player = 'Player';
    }
else {
    $player = $_POST['username'];
    }

$temp=$_FILES['userfile']['name'];
$filename = $player.'.png';
$temp = $filename;

// параметр отвечающий за выбор юзера!! от 0 до 3
$user_var = $REQUEST['NameRadioButton'];

########################################
// для скина
$uploaddirSKIN = "mcFiles/texture/skin/";
// для плащя
$uploaddirCLOAK = "mcFiles/texture/cloak/";
// для предмета
$uploaddirSHIELDS = "mcFiles/texture/shields/";
########################################


// если выбран скин
    if($user_var == 1){
        $uploadfile = $uploaddirSKIN . $temp;
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
    }
 
// если выбран плащ
    if($user_var == 2){
        $uploadfile = $uploaddirCLOAK . $temp;
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
    }
 
// если выран щит
    if($user_var == 3){
        $uploadfile = $uploaddirSHIELDS . $temp;
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
    }
?>

PHP:
<center>
    <form enctype='multipart/form-data' action='' method=post>
        <br />
        <p>Ваш ник нейм: <input type=text name='username'></p>
        <br />
            <input type=file name='userfile' size=9999>
            <input type=submit value='Сохранить'></form>
</center>

PHP:
<?
$player = $_POST['username'];
if($player == NULL){
$player = 'Player';
}
else{
$player = $_POST['username'];
}
$uploaddir = "files/texture/icon/sword/";
$temp=$_FILES['userfile']['name'];
$filename = $player.'.png';
$temp=$filename;
$uploadfile = $uploaddir . $temp;
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
?>
Разберем функционал! Конечно он не слишком богат не все же для новичков сойдет
PHP:
$player = $_POST['username'];
if($player == NULL)
{
$player = 'Player';
}
else
{
$player = $_POST['username'];
}

Тут у нас переменная $player содержит введенное имя пользователя если имени нету то используется
имя Player, за проверку имени отвечает конструкция if else
PHP:
$uploaddir = "files/texture/icon/sword/";
$temp=$_FILES['userfile']['name'];
$filename = $player.'.png';
$temp = $filename;
$uploadfile = $uploaddir . $temp;
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
Тут в $uploaddir мы указываем путь где будут хранится загруженные файлы, $temp=$_FILES['userfile']['name']; $filename = $player.'.png'; $temp = $filename; тут у нас происходит переименование файла загружаемого на сервер.

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile); Ну и конечно загрузка на сервер с параметрами переменной $uploadfile


Как это можно использовать?

Да очень просто, к примеру как систему скинов или плащей, или подгружать текстуры мечей и други предметов с сайта тем самым дать пользователям возможность нарисовать свой собственный меч и т.д.

Вот простой пример реализации на Java:
Код:
public void updateCloak()
{
     //код выдран из EntityPlayer
    this.playerCloakUrl = "http://вашсайт.ру/files/texture/icon/sword/" + this.username + ".png";
    this.cloakUrl = this.playerCloakUrl;
}
 
Главная Регистрация
Назад
Сверху