1

Тема: Не завантажується зображення на сервер PHP

Привіт всім!(Друга тема на сьогоднішній день *HI* ), я робив завантеження зjбреження на сервер, а воно не завантажується, ось код:
<form action="" method="post">
   <input type="file" name="u_image">
</form>
<?php
if(isset($_POST['update'])){
   $u_image = $_FILES['u_image']['name'];
   $image_tmp = $_FILES['u_image']['tmp_name'];
                        
   move_uploaded_file($image_tmp,"user/user_images/$u_image");
                        
   $update = "update `users` set  user_image='$u_image' where user_id='$user_id'";
}
?>
Чого не працює? %)

*PARDON*

2

Re: Не завантажується зображення на сервер PHP

І крім завантаження додавання адреси зображення в user_image

3

Re: Не завантажується зображення на сервер PHP

один з варіантів того, що у мене працювало на php

Прихований текст
<?php

/*include('db.php');
session_start();
$session_id='1'; //$session id
*/
$path = "../images/";

    $valid_formats = array("jpg", "jpeg", "png", "gif", "bmp");
    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
        {
            $name = $_FILES['photoimg']['name'];
            $size = $_FILES['photoimg']['size'];
            
            if(strlen($name))
                {
                    list($txt, $ext) = explode(".", $name);
                    if(in_array($ext,$valid_formats))
                    {
                    if($size<(1024*1024*5))
                        {
                            $actual_image_name = time().substr(str_replace(" ", "-", "_", $txt), 5).".".$ext;
                            $tmp = $_FILES['photoimg']['tmp_name'];
                            if(move_uploaded_file($tmp, $path.$actual_image_name))
                                {
                                //make mini(miniature)
                                $file = $path.$actual_image_name;
                                $minifile = $path."mini-".$actual_image_name;
                                
                                
                                if(($ext=='jpg')or($ext=='jpeg')) {
                                $im = imagecreatefromjpeg($path.$actual_image_name);
                                } elseif ($ext=='gif') {
                                $im = imagecreatefromgif($path.$actual_image_name);
                                } elseif ($ext=='png') {
                                $im = imagecreatefrompng($path.$actual_image_name);
                                } elseif ($ext=='bmp') {
                                $im = imagecreatefromwbmp($path.$actual_image_name);}
                                $params = getimagesize($file);
                                
                                //если высота больше ширины
                                //вычисляем новую ширину
                                if ($params[1] > $params[0]) {
                                    $newheight = 100;
                                    $newwidth  = floor($newheight * $params[0] / $params[1]);
                                } else {
                                    $newwidth  = 100;
                                    $newheight = floor($newwidth * $params[1] / $params[0]);
                                }
                                
                                //создаем миниатюру загруженного изображения
                                $resource = imagecreatetruecolor($newwidth, $newheight);
                                imagecopyresampled($resource, $im, 0, 0, 0, 0, $newwidth, $newheight, $params[0], $params[1]);
                                
                                if(($ext=='jpg')or($ext=='jpeg')) {
                                imagejpeg($resource, $minifile, 90); //90 качество изображения
                                } elseif ($ext=='gif') {
                                imagegif($resource, $minifile);
                                } elseif ($ext=='png') {
                                imagepng($resource, $minifile);
                                } elseif ($ext=='bmp') {
                                imagewbmp($resource, $minifile);}
                                

                                //назначаем права доступа
                                //chmod("$file", 0644);
                                //chmod("$minifile", 0644);
                                
                                
                                
                                
                                //mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
                                    $rid = mt_rand(1000, 10000);
                                    $rid2 = $rid."1";
                                    
                                    //echo "<br><br><img src='images/mini-".$actual_image_name."'  class='preview' id='".$rid2."'><span class='deleteimg' id='".$rid."'>Delete</span>";
                                    echo "<br><br><a class='example-image-link' href='images/".$actual_image_name."' data-lightbox='image".$rid2."'><img class='example-image' src='images/mini-".$actual_image_name."' id='".$rid2."'></a><span class='deleteimg' id='".$rid."'>Delete</span>";
                                                                                                                                                                                                            //width="150" height="150"
                                    //<a class="example-image-link" href="img/demopage/image-1.jpg" data-lightbox="example-1"><img class="example-image" src="img/demopage/thumb-1.jpg" alt="thumb-1" width="150" height="150"/></a>
                                    //<a class="example-image-link" href="img/demopage/image-2.jpg" data-lightbox="example-2" title="Optional caption."><img class="example-image" src="img/demopage/thumb-2.jpg" alt="thumb-1" width="150" height="150"/></a>
                                    
                                }
                            //else
                                //echo "failed";
                        }
                        else
                        echo "Image file size max 5 MB";                    
                        }
                        else
                        echo "Invalid file format..";    
                }
                
            else
                echo "Please select image..!";
                
            exit;
        }
?>

p.s. на ерлангу це в декілька строк -- го в секту свідків величі ерланга! :D  :D  :D

Подякували: ostap34PHP1

4

Re: Не завантажується зображення на сервер PHP

Якщо ви за кожним найменшим питанням будете одразу бігти на форум, не шукавши готових рішень,не намагаючись вирішити самому,
а знайшовши не порівняєте з тим, що написали самі - то це буде продовжуватися постійно.

Підозрюю, що ви дійсно звідкись видрали код,але зовсім не розумієте як він працює.
Бо..
Немає кнопки надсилання форми на сервер.
Немає POST поля (запиту) update, на існування якого є умова if(isset(..

Тому код в умові навіть не виконується.
А там можуть бути ще й проблеми з розташуванням папок/доступ на запис..

Крч..

Подякували: ostap34PHP, 221VOLT2

5

Re: Не завантажується зображення на сервер PHP

VTrim написав:

Якщо ви за кожним найменшим питанням будете одразу бігти на форум, не шукавши готових рішень,не намагаючись вирішити самому,
а знайшовши не порівняєте з тим, що написали самі - то це буде продовжуватися постійно.

Підозрюю, що ви дійсно звідкись видрали код,але зовсім не розумієте як він працює.
Бо..
Немає кнопки надсилання форми на сервер.
Немає POST поля (запиту) update, на існування якого є умова if(isset(..

Тому код в умові навіть не виконується.
А там можуть бути ще й проблеми з розташуванням папок/доступ на запис..

Крч..

Я забув додати в код(той шо кидав на форум):

          <button name="update" class="btn">Зберегти зміни</button>

6

Re: Не завантажується зображення на сервер PHP

ost.bregin2014 написав:
VTrim написав:

Якщо ви за кожним найменшим питанням будете одразу бігти на форум, не шукавши готових рішень,не намагаючись вирішити самому,
а знайшовши не порівняєте з тим, що написали самі - то це буде продовжуватися постійно.

Підозрюю, що ви дійсно звідкись видрали код,але зовсім не розумієте як він працює.
Бо..
Немає кнопки надсилання форми на сервер.
Немає POST поля (запиту) update, на існування якого є умова if(isset(..

Тому код в умові навіть не виконується.
А там можуть бути ще й проблеми з розташуванням папок/доступ на запис..

Крч..

Я забув додати в код(той шо кидав на форум):

          <button name="update" class="btn">Зберегти зміни</button>

І дякую, ви дали ідею, проблема може бути з папками...

7

Re: Не завантажується зображення на сервер PHP

Примітивна проблема.
Що у вас в $_POST['update']. Я не бачу жодної кнопки з таким іменем. Відправляєте дані через ентер? Даю гарантію, що ця умова не виконується.

У програми повина бути хоч якась віддача (зворотній зв'язок з користувачем). Наприклад:

if(isset($_POST['update'])){
   $u_image = $_FILES['u_image']['name'];
   $image_tmp = $_FILES['u_image']['tmp_name'];
                        
   if (move_uploaded_file($image_tmp,"user/user_images/$u_image")){
      $update = "update `users` set  user_image='$u_image' where user_id='$user_id'";
      echo "Файл $u_image завантажено";
   } else
      echo "Файл не вдалося завантажити";
}

Навіть якщо кондішин isset($_POST['update'] виконається, сумніваюсь, що файл збережеться на сервері, бо не вказане кодування. Почитайте про атрибут enctype теґа form
Жах. Не знаю де такий код ви постійно берете.

Подякували: ostap34PHP, 221VOLT2

8

Re: Не завантажується зображення на сервер PHP

user/user_images точно існують?
І..

move_uploaded_file($image_tmp, $_SERVER['DOCUMENT_ROOT'] . '/user/user_images/' . $u_image);
Подякували: ostap34PHP, 221VOLT2

9

Re: Не завантажується зображення на сервер PHP

221VOLT написав:

один з варіантів того, що у мене працювало на php

Прихований текст
<?php

/*include('db.php');
session_start();
$session_id='1'; //$session id
*/
$path = "../images/";

    $valid_formats = array("jpg", "jpeg", "png", "gif", "bmp");
    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
        {
            $name = $_FILES['photoimg']['name'];
            $size = $_FILES['photoimg']['size'];
            
            if(strlen($name))
                {
                    list($txt, $ext) = explode(".", $name);
                    if(in_array($ext,$valid_formats))
                    {
                    if($size<(1024*1024*5))
                        {
                            $actual_image_name = time().substr(str_replace(" ", "-", "_", $txt), 5).".".$ext;
                            $tmp = $_FILES['photoimg']['tmp_name'];
                            if(move_uploaded_file($tmp, $path.$actual_image_name))
                                {
                                //make mini(miniature)
                                $file = $path.$actual_image_name;
                                $minifile = $path."mini-".$actual_image_name;
                                
                                
                                if(($ext=='jpg')or($ext=='jpeg')) {
                                $im = imagecreatefromjpeg($path.$actual_image_name);
                                } elseif ($ext=='gif') {
                                $im = imagecreatefromgif($path.$actual_image_name);
                                } elseif ($ext=='png') {
                                $im = imagecreatefrompng($path.$actual_image_name);
                                } elseif ($ext=='bmp') {
                                $im = imagecreatefromwbmp($path.$actual_image_name);}
                                $params = getimagesize($file);
                                
                                //если высота больше ширины
                                //вычисляем новую ширину
                                if ($params[1] > $params[0]) {
                                    $newheight = 100;
                                    $newwidth  = floor($newheight * $params[0] / $params[1]);
                                } else {
                                    $newwidth  = 100;
                                    $newheight = floor($newwidth * $params[1] / $params[0]);
                                }
                                
                                //создаем миниатюру загруженного изображения
                                $resource = imagecreatetruecolor($newwidth, $newheight);
                                imagecopyresampled($resource, $im, 0, 0, 0, 0, $newwidth, $newheight, $params[0], $params[1]);
                                
                                if(($ext=='jpg')or($ext=='jpeg')) {
                                imagejpeg($resource, $minifile, 90); //90 качество изображения
                                } elseif ($ext=='gif') {
                                imagegif($resource, $minifile);
                                } elseif ($ext=='png') {
                                imagepng($resource, $minifile);
                                } elseif ($ext=='bmp') {
                                imagewbmp($resource, $minifile);}
                                

                                //назначаем права доступа
                                //chmod("$file", 0644);
                                //chmod("$minifile", 0644);
                                
                                
                                
                                
                                //mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
                                    $rid = mt_rand(1000, 10000);
                                    $rid2 = $rid."1";
                                    
                                    //echo "<br><br><img src='images/mini-".$actual_image_name."'  class='preview' id='".$rid2."'><span class='deleteimg' id='".$rid."'>Delete</span>";
                                    echo "<br><br><a class='example-image-link' href='images/".$actual_image_name."' data-lightbox='image".$rid2."'><img class='example-image' src='images/mini-".$actual_image_name."' id='".$rid2."'></a><span class='deleteimg' id='".$rid."'>Delete</span>";
                                                                                                                                                                                                            //width="150" height="150"
                                    //<a class="example-image-link" href="img/demopage/image-1.jpg" data-lightbox="example-1"><img class="example-image" src="img/demopage/thumb-1.jpg" alt="thumb-1" width="150" height="150"/></a>
                                    //<a class="example-image-link" href="img/demopage/image-2.jpg" data-lightbox="example-2" title="Optional caption."><img class="example-image" src="img/demopage/thumb-2.jpg" alt="thumb-1" width="150" height="150"/></a>
                                    
                                }
                            //else
                                //echo "failed";
                        }
                        else
                        echo "Image file size max 5 MB";                    
                        }
                        else
                        echo "Invalid file format..";    
                }
                
            else
                echo "Please select image..!";
                
            exit;
        }
?>

p.s. на ерлангу це в декілька строк -- го в секту свідків величі ерланга! :D  :D  :D

Дуже дякую!

10

Re: Не завантажується зображення на сервер PHP

NagarD написав:

Примітивна проблема.
Що у вас в $_POST['update']. Я не бачу жодної кнопки з таким іменем. Відправляєте дані через ентер? Даю гарантію, що ця умова не виконується.

У програми повина бути хоч якась віддача (зворотній зв'язок з користувачем). Наприклад:

if(isset($_POST['update'])){
   $u_image = $_FILES['u_image']['name'];
   $image_tmp = $_FILES['u_image']['tmp_name'];
                        
   if (move_uploaded_file($image_tmp,"user/user_images/$u_image")){
      $update = "update `users` set  user_image='$u_image' where user_id='$user_id'";
      echo "Файл $u_image завантажено";
   } else
      echo "Файл не вдалося завантажити";
}

Навіть якщо кондішин isset($_POST['update'] виконається, сумніваюсь, що файл збережеться на сервері, бо не вказане кодування. Почитайте про атрибут enctype теґа form
Жах. Не знаю де такий код ви постійно берете.

а, так я то аджаксом кидав,
на клієнті був js якийсь такий --
http://igstan.ro/posts/2009-01-11-ajax- … cript.html

Подякували: ostap34PHP1