• Как получить файл из формы с input type="file" в PHP или в целом получить файл любым способом?

    @michadimin Автор вопроса
    Евгений, ладно, спасибо огромное, без вас я бы реально не разобрался бы.

    Пусть картинку в БД я положить и не смогу, что означает, что мне придётся переписывать подгрузку картинок на сайте, но тот факт, что теперь отправка картинок работает - уже радует!
    Написано
  • Как получить файл из формы с input type="file" в PHP или в целом получить файл любым способом?

    @michadimin Автор вопроса
    Евгений, так, спасибо большое, я почти разгадал сея загадку!

    Итак, в данный момент у меня проблема: когда я записываю двоичный файл в БД, то его вес не совпадает с изначальным, собственном как и содержимое

    Как я и говорил - мне нужно помещать картинки непосредственно в саму БД, а не класть в папку с проектом. Знаю, что такой подход не практикуется, но мне нужно именно так в данный момент.

    Я попробовал считывать данные из файла с картинкой в виде обычного текста и пихнуть его в БД - новые записи не добавлялись. И тогда я нашёл функцию mysqli_real_escape_string().

    Вот код
    <?php
    ini_set('display_errors', '1');
    ini_set('display_startup_errors', '1');
    error_reporting(E_ALL);
    
    include("dbConnect.php");
    
    
    echo '<pre>' ;
    print_r($_FILES);
    echo '</pre>' ;
    echo php_ini_loaded_file()."\n";
    
    move_uploaded_file($_FILES["image"]["tmp_name"], "../img/".$_FILES["image"]["name"]);
    
    $filename = '../img/'.$_FILES["image"]["name"];
     
    $text = '';
    $fh = fopen($filename, 'r');
    while (!feof($fh)) {
    	$line = fgets($fh);
    	$text .= $line . PHP_EOL;
    }
    fclose($fh);
    
    
    $sql = "INSERT INTO `Users`(`Name`, `Surname`, `Password`, `Email`, `Image`) VALUES ('".$_POST["name"]."','".$_POST["surname"]."','".$_POST["password"]."','".$_POST["email"]."','".mysqli_real_escape_string($connect, $text)."')";
    $connect->query($sql);
    
    mysqli_close($connect);
    header('Location: ../profile.php');


    Он корректно создаёт запись в БД, однако, если скачать из неё данные(в моём случае это картинка) и если переименовать её в формат картинки - оказывается, что это уже просто набор данных, ни одно приложение не может корректно её прочитать.
    Написано
  • Как получить файл из формы с input type="file" в PHP или в целом получить файл любым способом?

    @michadimin Автор вопроса
    Сделал вот так
    <?php
    
    ini_set('display_errors', '1');
    ini_set('display_startup_errors', '1');
    error_reporting(E_ALL);
    
    include("dbConnect.php");
    
    $tmp_dir = '/var/www/uploads/'; // путь к временной директории из настроек php.ini
    $tmp_file = $tmp_dir . basename($_FILES['image']['name']); // путь к временному файлу
    
    
    move_uploaded_file($tmp_file, "../img/"); // перемещаем файл в временную директорию
    
    mysqli_close($connect);


    Форма регистрации вот
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Регистрация</title>
        
    </head>
    <body>
        <div class="account-container">
            <h2>Личный кабинет</h2>
            <form method="post" action="scripts/register.php">
                <label for="username">Имя пользователя:</label>
                <input type="text" id="login" name="login" required>
    
                <label for="email">Email:</label>
                <input type="email" id="email" name="email" required>
    
                <label for="password">Пароль:</label>
                <input type="password" id="password" name="password" required>
    
                <label for="image">Фото профиля:</label>
                <input type="file" id="image" name="image">
    
                <button type="submit">Зарегестрироваться</button>
            </form>
        </div>
    
    </body>
    </html>


    Результат

    Notice: Undefined index: image in D:\OSPanelFromTiny10\domains\Vanechka\scripts\register.php on line 10
    Написано
  • Как получить файл из формы с input type="file" в PHP или в целом получить файл любым способом?

    @michadimin Автор вопроса
    Да вот в том и проблема, что в таком случае придётся полностью переделать то, как работает проект. Я уже видел те варианты, что вы перечислили.
    Неужели нет способа взять и загрузить файл напрямую в БД средствами PHP...?
    Написано
  • Почему не записываются данные в MySQL базу данных?

    @michadimin Автор вопроса
    SidVisceos, признаюсь честно - мне бы вот хотя бы просто работало :)
    Я слышал о PDO, но искать о нём информацию мне показалось куда сложнее...

    По mysqli я куда быстрее могу сварганить что-то на коленке из кусков кода с интернетов, чтобы оно работало хоть как-то.

    Но спасибо за ответ, буду иметь ввиду :)
    Написано
  • Почему не записываются данные в MySQL базу данных?

    @michadimin Автор вопроса
    Вообще я просто делаю курсач, что поделать, большинство образовательных учреждений стоят на месте и не поспевают за развитием IT отрасли.

    Сам в вебе абсолютный 0, а за шакаленный код - приношу искренние извинения, уже просто измучился с этим всем и забыл вставить блоком, а как создал вопрос - закрыл вкладку и, забыв этот ужас, пошёл отдыхать. Впрочем я даже и не знал, что imgur так шакалит видео (_:

    У нас курсач в целом невозможно будет защитить без использования MySQL, таковы требования, а сам я никогда не интересовался веб-разработкой, так что даже не могу понять почему MySQL - это Моветон :)
    Если ответ прочтут - хотелось бы узнать поподробнее что сейчас используют, пусть и вряд ли свяжу свою жизнь с вебом.
    Ну и про MySQL Workbench и Navicat так же слышу впервые :)
    Написано
  • Как загрузить нод на сцену в Godot Mono?

    @michadimin Автор вопроса
    Спасибо, но выяснилось, что я искал не это, упс :D

    Просто я точно помнил, что существовал механизм, позволяющий загружать сцену на другую сцену и добавлять её, соответственно, а вот как именно - забыл...

    Поэтому и подумал сначала, что мне нужно то, что я описал...
  • Как растянуть кнопки Material Design на всю ячейку в WPF?

    @michadimin Автор вопроса
    OwDafuq, я как-то не увидел особого смысла в этом... Мне кажется, что у меня всё сделано самым очевидным способом...
    Но вот
    <Window x:Class="WPF_Learning.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WPF_Learning"
            mc:Ignorable="d"
            Title="Калькулятор v3 WPF" Height="700" Width="600" FontFamily="Segoe UI Semibold" FontSize="36" Background="#FF2B2A28" MinHeight="576" MinWidth="542" Icon="/pngegg.png">
        <Grid x:Name="MainGrid">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Label x:Name="ExprLabel" Grid.ColumnSpan="5" Foreground="#FFD8D8D8" Margin="0,20,0,0">0</Label>
            <Label x:Name="CalculatedLabel" Grid.Column="3" Grid.ColumnSpan="4" HorizontalAlignment="Right" VerticalAlignment="Bottom" Foreground="#FF8C8C8C" Margin="0,0,20,0" FontSize="22">N/E</Label>
    
            <Button Grid.Column="1" Grid.Row="1">1</Button>
            <Button Grid.Column="2" Grid.Row="1">2</Button>
            <Button Grid.Column="3" Grid.Row="1">3</Button>
            <Button Grid.Column="1" Grid.Row="2">4</Button>
            <Button Grid.Column="2" Grid.Row="2">5</Button>
            <Button Grid.Column="3" Grid.Row="2">6</Button>
            <Button Grid.Column="1" Grid.Row="3">7</Button>
            <Button Grid.Column="2" Grid.Row="3">8</Button>
            <Button Grid.Column="3" Grid.Row="3">9</Button>
            <Button Grid.Column="2" Grid.Row="4">0</Button>
            <Button x:Name="EquButton" Grid.Column="3" Grid.Row="4" Background="#FFC97922">=</Button>
            <Button x:Name="EraseButton" Grid.Column="4" Grid.Row="4" Grid.ColumnSpan="2" Background="#FFC97922" Margin="0,0,60,0">⌫</Button>
            <Button Grid.Column="1" Grid.Row="4" >.</Button>
            
            <Button Grid.Column="4" Grid.Row="1" Margin="0,0,60,0">)</Button>
            <Button Grid.Column="4" Grid.Row="2" Margin="0,0,60,0">*</Button>
            <Button Grid.Column="4" Grid.Row="3" Margin="0,0,60,0">/</Button>
    
            <Button Grid.Column="0" Grid.Row="1" Margin="60,0,0,0">(</Button>
            <Button Grid.Column="0" Grid.Row="2" Margin="60,0,0,0">+</Button>
            <Button Grid.Column="0" Grid.Row="3" Margin="60,0,0,0">-</Button>
            <Button x:Name="ClearButton" Grid.Column="0" Grid.Row="4" Margin="60,0,0,0" Background="#FFC97922">AC</Button>
        </Grid>
    </Window>
  • Как реализовать одновременное присваивание и ввод чисел через пробел?

    @michadimin Автор вопроса
    Мне хотелось сделать код максимально лаконичным, а тут метод-расширение придётся писать XD

    Но спасибо большое! Теперь буду знать, что так можно)
  • Зачем используют константы для объявления длины массива?

    @michadimin Автор вопроса
    Ну карочи. Решил я заглянуть в свои старые вопросы на хабре...
    Сейчас я знаю куда больше и могу передать свою идею лучше.

    В те времена я не понимал: зачем использовать именно константы? Почему не обычные переменные?

    Сейчас понимаю, что для того, что описал GavriKos
    Но в те давние времена про стек и кучу - я знал лишь то, что куча - это оперативка XD
  • Как перечислить все классы, реализованные через некоторый интерфейс?

    @michadimin Автор вопроса
    Максим К, ну, я просто вливаюсь в полиморфизм по-тихонько...

    Я создавал простейшую иерархию классов для ракет и разных типов двигателей.

    Вся программа у меня выполняется в консоли в виде последовательных списков, которые просят ввести характеристики двигателя, тип двигателя и тип ракеты.

    Такое перечисление мне нужно для того, чтобы я мог добавлять новые типы ракет и двигателей, при этом не теребонькать функцию для вывода списка с выбором на экран, ведь новый пункт/ты за меня добавит сам компьютер.
  • Как узнать размер массива, который был передан в шаблонную функцию?

    @michadimin Автор вопроса
    Армянское Радио, та я бы и вектора с радостью использовал.
    Но нужно именно обычный массив...
  • WxWidgets Debug Alert - как убрать?

    @michadimin Автор вопроса
    Я просто пока что изучаю базовый функционал wxWidgets.

    Сразу переходить к той каше из наследований, что есть в примере на сайте wxWidgets - как-то тяжеловато...
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    @michadimin Автор вопроса
    Saboteur, ёмаё... Ахах

    Поделить на 0 через eval... Забавненько...
    Я eval использовал в C# и в Python помню.

    В C# писал GUI калькулятор на WinForms и он меня там спас.
    На Python - просто баловался.

    Но я себе представлял, что eval - это что-то типа компиляции "налету", лол. Просто в C#(по моим воспоминаниям) в eval можно было запихнуть ВООБЩЕ ЧТО УГОДНО! Любой алгоритм... Начиная от подключения библиотек, заканчивая работой с файлами.

    Ну что ж... Теперь буду знать, спасибо)
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    @michadimin Автор вопроса
    Saboteur, хотя ты прав, я не совсем понимаю, почему Eval считается небезопасным)
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    @michadimin Автор вопроса
    Saboteur, как давно я задавал вопросы на Python?)

    С тех пор у меня появились определённые знания...
    Решил прыгнуть на C++ попробовать.

    Программированием занимаюсь чисто как хобби. Хотя теоретически должен заниматься как работой, однако я только на втором курсе в шараге, а моих нынешних знаний с головой хватает, чтобы сидеть на парах и ничего не делать вот уже почти 2 месяца...

    Но мне хочется развиваться.
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    @michadimin Автор вопроса
    Мне данная функция нужна для того, чтобы выполнять математические действия с матрицами(сложение, умножение и тд).

    В данный момент у меня там множество switch-case и меня это крайне раздражает
    Да, оно работает, но хочется как-то сделать лучше... Либо это уже просто мои загоны XD

    У меня есть цикл, который выполняет сложение/умножение/деление/вычитание для каждого элемента матрицы. И я бы хотел передать математический оператор в функцию, чтобы полностью избавиться от switch-case и обойтись парой строчек кода.
  • Почему не работает скролл и как его починить?

    @michadimin Автор вопроса
    Mesuti, буду иметь ввиду. Но в моём случае - на это можно забить.
    Это ДЗ по информатике по сути :D Нам задали сделать сайт, который содержит историю развития/нынешнее положение/описание любого вида спорта.