Ответы пользователя по тегу PHP
  • Я в упор не вижу не закрытой скобки?

    Mr_Sergo
    @Mr_Sergo
    <?
    $dir45 = md5($_FILES['file']);
    if (true == (file_exists('/filez/' + $dir45 + '/')))
    {//---------------------------------------------------------------------------------------------------------------------------------
        while (true == (file_exists('/filez/' + $dir45 + '/')))
        {
            $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
            function generate_string($input, $strength = 16)
            {
                $input_length = strlen($input);
                $random_string = '';
                for ($i = 0;$i < $strength;$i++)
                {
                    $random_character = $input[mt_rand(0, $input_length - 1) ];
                    $random_string .= $random_character;
                }
    
                return $random_string;
            }
    
            // Output: Jp8iVNhZXhUdSlPi1sMNF7hOfmEWYl2UIMO9YqA4faJmS52iXdtlA3YyCfSlAbLYzjr0mzCWWQ7M8AgqDn2aumHoamsUtjZNhBfU
            $dir45 = generate_string($permitted_chars, 7);
    
        }
        if (isset($_FILES))
        {//---------------------------------------------------------------------------------------------------------------------------------
    
            $allowedTypes = array(
                'image/jpeg',
                'image/png',
                'image/gif'
            );
            mkdir($dir45);
            $uploadDir = "filez/" + $dir45 + "/"; //Директория загрузки. Если она не существует, обработчик не сможет загрузить файлы и выдаст ошибку
            for ($i = 0;$i < count($_FILES['file']['name']);$i++)
            { //Перебираем загруженные файлы//---------------------------------------------------------------------------------------------------------------------------------
                $uploadFile[$i] = $uploadDir . basename($_FILES['file']['name'][$i]);
    
                $fileChecked[$i] = false;
    
                echo $_FILES['file']['name'][$i] . " | " . $_FILES['file']['type'][$i] . " — ";
    
                for ($j = 0;$j < count($allowedTypes);$j++)
                { //Проверяем на соответствие допустимым форматам
                    if ($_FILES['file']['type'][$i] == $allowedTypes[$j])
                    {
    
                        $fileChecked[$i] = true;
    
                        break;
    
                    }
    
                }
    
                if ($fileChecked[$i])
                { //Если формат допустим, перемещаем файл по указанному адресу
                    if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $uploadFile[$i]))
                    {
    
                        echo "Успешно загружен <br>";
    
                    }
                    else
                    {
    
                        echo "Ошибка " . $_FILES['file']['error'][$i] . "<br>";
    
                    }
                }
    ?><?
                $dir45 = md5($_FILES['file']);
                if (true == (file_exists('/filez/' + $dir45 + '/')))
                {//---------------------------------------------------------------------------------------------------------------------------------
                    while (true == (file_exists('/filez/' + $dir45 + '/')))
                    {
                        $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
                        function generate_string($input, $strength = 16)
                        {
                            $input_length = strlen($input);
                            $random_string = '';
                            for ($i = 0;$i < $strength;$i++)
                            {
                                $random_character = $input[mt_rand(0, $input_length - 1) ];
                                $random_string .= $random_character;
                            }
    
                            return $random_string;
                        }
    
                        // Output: Jp8iVNhZXhUdSlPi1sMNF7hOfmEWYl2UIMO9YqA4faJmS52iXdtlA3YyCfSlAbLYzjr0mzCWWQ7M8AgqDn2aumHoamsUtjZNhBfU
                        $dir45 = generate_string($permitted_chars, 7);
    
                    }
                    if (isset($_FILES))
                    {//---------------------------------------------------------------------------------------------------------------------------------
    
                        $allowedTypes = array(
                            'image/jpeg',
                            'image/png',
                            'image/gif'
                        );
                        mkdir($dir45);
                        $uploadDir = "filez/" + $dir45 + "/"; //Директория загрузки. Если она не существует, обработчик не сможет загрузить файлы и выдаст ошибку
                        for ($i = 0;$i < count($_FILES['file']['name']);$i++)
                        { //Перебираем загруженные файлы//---------------------------------------------------------------------------------------------------------------------------------
                            $uploadFile[$i] = $uploadDir . basename($_FILES['file']['name'][$i]);
    
                            $fileChecked[$i] = false;
    
                            echo $_FILES['file']['name'][$i] . " | " . $_FILES['file']['type'][$i] . " — ";
    
                            for ($j = 0;$j < count($allowedTypes);$j++)
                            { //Проверяем на соответствие допустимым форматам
                                if ($_FILES['file']['type'][$i] == $allowedTypes[$j])
                                {
    
                                    $fileChecked[$i] = true;
    
                                    break;
    
                                }
    
                            }
    
                            if ($fileChecked[$i])
                            { //Если формат допустим, перемещаем файл по указанному адресу
                                if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $uploadFile[$i]))
                                {
    
                                    echo "Успешно загружен <br>";
    
                                }
                                else
                                {
    
                                    echo "Ошибка " . $_FILES['file']['error'][$i] . "<br>";
    
                                }
                            }
    ?>

    я отметил места открывающихся но не закрытых скобок, вам остается их закрыть, с этим то хоть справитесь? и вот вам на будущее beautifytools.com/php-beautifier.php
    Ответ написан
    Комментировать
  • Как передать массив из js в php?

    Mr_Sergo
    @Mr_Sergo
    по подробней?

    function myChangeHandler() {
    	const checkedInputs = myForm.querySelectorAll('input:checked');
    	const ids = Array.from(checkedInputs).map(inp => inp.id);
    
    	const idsListString = JSON.stringify(ids);
    
    	(async () => {
    		let answer = await fetch('handler.php',{
    			method: 'POST',
    			headers: {'Content-type' : 'application/x-www-form-urlencoded; charset=UTF-8'},
    			body: 'arrFromJS=' + idsListString  // на сервере ловить $_POST['arrFromJS']
    		}),
    		data = await answer.text();
    		console.log(data);
    	})();
    	
    	// display
    	out.textContent = idsListString
    	// save
    	localStorage.setItem('data', idsListString)
    }
    Ответ написан
    Комментировать
  • Как добавить дополнительный жесткий диск к OpenServer?

    Mr_Sergo
    @Mr_Sergo Автор вопроса
    Вопрос закрыт.
    Сделал по-другому: подключил жесткий диск как папку.
    Ответ написан
    Комментировать
  • Слетают данные при очистке cookie. Аналоги?

    Mr_Sergo
    @Mr_Sergo Автор вопроса
    РЕБЯТ!!!!!
    Если это злоумышленник?
    Кто то пытается подобрать пароль к моему логину через bruteforce. bruteforce неправильно подбирает пароль 3 раза, скрипт блокирует доступ к аккаунту на 5 минут и Я НАСТОЯЩИЙ ПОЛЬЗОВАТЕЛЬ СВОЕГО АККАУНТА в этот момент пытаюсь попасть в свой аккаунт в течении 5 минут, доступ к моему аккаунту заблокирован. Следовательно как то надо идентифицировать, желательно однозначно, этот компьютер с которого производились эти 3 попытки ввести пароль. КАК ИДЕНТИФИЦИРОВАТЬ ИМЕННО ЭТОТ КОМП?, потому как настоящий пользователь в эти 5 минут может тоже пробовать войти в свой акк.
    Ответ написан
    Комментировать