• Как загрузить и обрезать фото?

    @sherzad_90 Автор вопроса
    Сергей Соколов: ну вообщем я сделал вот так я сделал. И дальше не знаю что делать(
    <?php
        $path = "./uploads/";
        
        $valid_formats = array("jpg", "png", "jpeg");
        
        if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
            
            $name = $_FILES['photoimg']['name'];
            $size = $_FILES['photoimg']['size'];
            $tmp  = $_FILES['photoimg']['tmp_name'];
    
            if(strlen($name)){ //возвращает длину строки
    
                list($txt, $ext) = explode(".", $name);
                
                if(in_array($ext,$valid_formats)) {
                    if($size<(1024*1024)){ // Макс размер фото 1MB
    
    
    
                        if(preg_match('/[.](PNG)|(png)$/', $name)) {
                            $im = imagecreatefrompng($path.$name) ;
                            //если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
                        }
                        if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $name)) {
                            $im = imagecreatefromjpeg($path.$name); 
                            //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
                        }
                        $Size = getimagesize($tmp);
                        // создаём пустую квадратную картинку 
                        // важно именно truecolor!, иначе будем иметь 8-битный результат 
                        $dest = imagecreatetruecolor(200, 220);
                        imagecopyresampled($dest, $im, 0, 0, 0, 0, 200, 220, $Size[0], $Size[1]);
    
    
    
    
                        
                        $actual_image_name = time().$_SESSION['id'].".".$ext;
    
                        if(move_uploaded_file($tmp, $path.$actual_image_name)){
    
                            mysqli_query($CONNECT,"UPDATE `users` SET profile_image='$actual_image_name' WHERE id='$_SESSION[id]'");
                            
                            echo "<img src='./uploads/".$actual_image_name."' class='preview'>";
    
                        } else echo'<span style="color:red;">Что-то пошло не так!</span>';
    
                    } else echo'<span style="color:red;">Размер файла превышает 1Mb!</span>';
    
                } else echo'<span style="color:red;">Выбран неправильный формат!</span>'; 
    
            } else echo'<span style="color:grey;">Пожалуйста выберите фото!</span>';
        exit();
        }
    ?>
  • Как загрузить и обрезать фото?

    @sherzad_90 Автор вопроса
    Вот эту функцию надо превратить как условия и вырезать фото на 200*220 и дать новое и сохранить новое имя в базу. Я просто взял функцию из коды как основы. Его надо сделать как условия и все. Только у меня это плохо получается.
  • Почему когда я убираю цикл while скрипт работает в php?

    @sherzad_90 Автор вопроса
    разместил код выше. сорян за фото с телефона
  • Почему когда я убираю цикл while скрипт работает в php?

    @sherzad_90 Автор вопроса
    slo_nik:
    Я просто на телефоне был

    <?php
    -------------------------------------add.php------------------------------------
    if($_POST['reviews_f']){

    /*if(strlen($_POST['message']) < 10 || strlen($_POST['message']) > 200)
    message('Длина сообщение должна быть минимум от 10 до 200');*/

    mysqli_query($CONNECT, 'INSERT INTO `reviews` VALUES ("", "'.$_SESSION['id'].'", "'.mysqli_real_escape_string($CONNECT, $_POST['message']).'", NOW())');
    go('reviews');
    }
    ?>

    <?php

    if($_POST['reviews_f']){

    /*if(strlen($_POST['message']) < 10 || strlen($_POST['message']) > 200)
    message('Длина сообщение должна быть минимум от 10 до 200');*/

    mysqli_query($CONNECT, 'INSERT INTO `reviews` VALUES ("", "'.$_SESSION['id'].'", "'.mysqli_real_escape_string($CONNECT, $_POST['message']).'", NOW())');

    go('reviews');
    }
    ?>
    -------------------------------------add.php-----end-------------------------------
    -------------------------------------rewives.php------------------------------------
    <?php top('Отзывы'); ?>

    Отзывы

    Отправить

    Список отзывов

    <?php

    $query = mysqli_query($CONNECT, 'SELECT `uid`, `text`, `date1` FROM `reviews` ORDER BY `id` DESC');

    if(!mysqli_num_rows($query) ) exit('Список отзывов пуст');

    while($row = mysqli_fetch_assoc($query)){

    $date = mysqli_fetch_assoc($query);

    $user = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `email` FROM `users` WHERE `id` = $row[uid]") );

    echo 'Отправитель: '.$user['email'].' '.$date['date1'].''.nl2br(htmlspecialchars($row['text']), false).'';
    }
    bottom(); ?>
    -------------------------------------rewives.php--------end----------------------------