Hướng dẫn làm trang upload ảnh bằng PHP


Không phải nói thì PHP vẫn là một trong những ngôn ngữ thông dụng và dễ dùng nhất dành cho các ứng dụng web. Mặc dù nó có khá nhiều yếu điểm đặc biệt là trong các ứng dụng nhiều người dùng. Facebook thực ra chọn dùng PHP vì họ đã sửa cái opensource này rất nhiều rồi, cả MySql họ cũng sửa hết. Chứ không phải cái mà chúng ra click download rồi về cài đâu nha .

Thôi không lan man nữa. Không ít thì nhiều chúng ta vẫn gặp một số trường hợp cần upload ảnh lên trang web của mình : Thay ảnh trong trang, ảnh avatar người dùng, ảnh nền .... Mình xinh đưa ra một mô hình cực kỳ đơn giản để có thể làm được điều này. Nó gồm script client và một đoạn script server dùng để xử lí khi server nhận được ảnh.

client.php

    <html>
       <title>Form upload </title>
      <body>
          <form action="server.php" method="post" enctype="multipart/form-data">
             Filename: <input type="file" name="file_up" /> <br />
             <input type="submit" name="submit" value="Submit" />
         </form>
      </body>
    </html>

server.php

    <html>
       <head>
            <title>Trang Xu ly va Ket qua upload</title>
       </head>
    <body>
       <?php
          if ($_FILES["file_up"]["error"] > 0) {
             echo "Return Code: " . $_FILES["file_up"]["error"] . "<br />";
          } else {
             if (file_exists("upload/news/" . $_FILES["file_up"]["name"])) {
                echo $_FILES["file_up"]["name"] . " da ton tai file tren server. ";
             } else {  
                move_uploaded_file($_FILES["file_up"]["tmp_name"], "upload/news/" . $_FILES["file_up"]["name"]);    
             }
         }
       ?> 
       <br />
       <?php
          $link = "upload/news/" . $_FILES["file_up"]["name"];      
          echo "Duong link cua file la: $link <br />";    
          echo "Ten File: " . $_FILES["file_up"]["name"] . "<br />";
          echo "Type: " . $_FILES["file_up"]["type"] . "<br />";
          echo "Size: " . ($_FILES["file_up"]["size"] / 1024) . " Kb<br />";
          echo "Temp file: " . $_FILES["file_up"]["tmp_name"] . "<br />";
      ?>
      <br />
      <img src="<?php echo $link; ?>" width="100" />
      <br />
     </body>
    </html>    

Lưu ý :

  1. client.phpserver.php phải ở cùng một thư mục, nếu không thì phải sửa lại đường dẫn ở trong form.

  2. hàm move_uploaded_file các ban có thể custom, để resize, giảm dung lượng nếu không chả mấy chốc host sẽ bị đầy.

Bình luận (0)

Bình luận (<{ numberComments }>)

  • avatar
    <{ comment.author.username }> Reply
    <{ comment.createdAt | date:'yyyy-MM-dd HH:mm:ss' }>
    • avatar
      <{ reply.author.username }>
      <{ reply.createdAt | date:'yyyy-MM-dd HH:mm:ss' }>