New
Loading...
Để lấy đường dẫn URL của trang hiện tại, bạn chỉ cần sử dụng đoạn code PHP đơn giản như sau:
<?php
  function getURLCurrentPage() {
    $pageURL = 'http';

    if (!empty($_SERVER['HTTPS'])) {
      if ($_SERVER['HTTPS'] == 'on') {
        $pageURL .= "s";
      }
    }

    $pageURL .= "://";

    if ($_SERVER["SERVER_PORT"] != "80") {
      $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
    } else {
      $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
    }

    return $pageURL;
  }
?>
Giải thích: Trong getURLCurrentPage chúng ta sử dụng chủ yếu là biến $_SERVER để xác định URL của trang hiện tại. Tương tự, biến $_SERVER có thể cho ra những kết quả khác tùy theo cách xử dụng.

Ví dụ ta có dường dẫn sau:  http://obinb.com/page/about.php?page=12 

-    $_SERVER[‘HTTP_HOST’] => obinb.com
-    $_SERVER[‘PHP_SELF’] =>  /page/about.php
-    $_SERVER[‘REQUEST_TIME’] => Thời gian mà client gửi request ở dạng TIME _STAMP
-    $_SERVER[‘QUERY_STRING’] => page=12
-    $_SERVER[‘DOCUMENT_ROOT’] = Thư mục root chứa mã nguồn website. VD: /home/obibcom/public_html (đối với Linux) hay C:\www (đối với windows)
-    $_SERVER[‘REMOTE_HOST’] = Hostname của người truy cập
-    $_SERVER[‘REMOTE_PORT’] = Port mà trình duyệt mở ra để kết nối tới server
-    $_SERVER[‘REQUEST_URI’] => /page/about.php?page=12
-    $_SERVER[‘SERVER_NAME’] = Tên của server
-    $_SERVER[‘SERVER_ADDR’] = IP của server
-    $_SERVER[‘REMOTE_ADDR’] = IP của người truy cập
-    $_SERVER[‘HTTP_USER_AGENT’] = Thông tin trình duyệt của người truy cập


Chúc các bạn thành công!

Xem thêm:
Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Cách tự động chuyển trang ( Auto Redirect ) bằng HTTP Status Code 301 hoặc 302
- Cách ẩn số lượng sản phẩm trong danh mục OpenCart
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Hướng dẫn resize ảnh đơn giản bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt


 Ebook Căn bản PHP của tác giả Hữu Khang sẻ giúp các bạn mới bắt đầu tiếp cận môn lập trình PHP và MySQL nắm được kiến thức từ căn bản lên dần nâng cao.

  • Phát hành: Nguyễn Hữu Khang
  • Sử dụng: Miễn phí
  • Dung lượng: 2,8 MB
  • Định dạng PDF 
Download miễn phí tại đây: 


http://www.mediafire.com/view/h2n90tqu36aaqxc/CanbanPHP.pdf


Xem thêm:
- Cách tự động chuyển trang ( Auto Redirect ) bằng HTTP Status Code 301 hoặc 302
- Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Hướng dẫn resize ảnh đơn giản bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí

Code resize ảnh trực tiếp có ưu điểm là đơn giản, dễ sử dụng, ít tốn lưu lượng lưu trữ web, có thể resize nhiều kích thước ảnh mà không cần tạo nhiều file ảnh khác nhau. Nhưng chính vì sử dụng ảnh gốc để resize kích thước nên sẻ làm web bạn tải lâu hơn nếu kích thước ảnh lớn và site bạn có quá nhiều ảnh. Sau đây là các bước để bạn thực hiện resize ảnh theo dạng này.



Bước 1: Tạo file resize_image.php với nội dung sau:
<?php
    ini_set('memory_limit','64M');
    $site_config['document_root'] = $_SERVER['DOCUMENT_ROOT'];
    $thumb_size = 128;
    $site_config['absolute_uri'] = str_replace('///', '//', str_replace('thumb.php?'. $_SERVER['QUERY_STRING'], '', $_SERVER['REQUEST_URI']));
    $site_config['path_thumbnail'] = $site_config['absolute_uri']. 'site/'. $_GET['p']. '/cache/';
    $image_error = $site_config['document_root']. $site_config['absolute_uri']. 'site/default.jpg';
    
    $thumb_size_x = 0;
    $thumb_size_y = 0;
    
    if (@$_GET["quality"]<>0) {
        $quality    = $_GET["quality"];
    } else {
        $quality    = 80;
    }
    
    if (@$_GET["size"]<>0) {
        $thumb_size = intval($_GET["size"]);
    }
    
    if (intval(@$_GET["sizex"])>0) {
        $thumb_size_x = intval($_GET["sizex"]);
        if (intval(@$_GET["sizey"])>0)  {
            $thumb_size_y = intval($_GET["sizey"]);
        } else {
            $thumb_size_y = $thumb_size_x;
        }
    }
    
    if (file_exists($_GET['file'])) {
        $filename = $_GET['file'];
    } else {
        $filename = str_replace('//','/',$site_config['document_root'].$site_config['absolute_uri'].'/'.$_GET["file"]);
    }
    
    if (substr_count($filename, "http://")>0) {
        $filename = str_replace($site_config['document_root'].$site_config['absolute_uri'].'/','',$filename);
    }
    
    $filename = str_replace("'","'",$filename);
    $filename = rtrim($filename);
    $filename = str_replace("//","/",$filename);
    $fileextension = substr($filename, strrpos ($filename, ".") + 1);
    $cache_file = str_replace('//','/',$site_config['document_root'].$site_config['path_thumbnail'].md5($filename.@$thumb_size.@$thumb_size_x.@$thumb_size_y.@$quality).'.'.$fileextension);
    
    if (@$_GET['nocache']==1) {
        if (file_exists($cache_file)) {
            unlink($cache_file);
        }
    }
    
    if ((file_exists($cache_file)) && (@filemtime($cache_file)>@filemtime($filename))) {
        header('Content-type: image/'.$fileextension);
        header("Expires: Mon, 26 Jul 2030 05:00:00 GMT");    
        header('Content-Disposition: inline; filename='.str_replace('/','',md5($filename.$thumb_size.$thumb_size_x.$thumb_size_y.$quality).'.'.$fileextension));
        echo (join('', file( $cache_file )));
        exit;
    }
    
    $ver=intval(str_replace(".","",phpversion()));
    if ($ver>=430) {
        $gd_version=@gd_info();
    }
    
    if (!$image_type_arr = @getimagesize($filename)) {
        header('Content-type: image/png');
        if(@$_GET['noerror']) {
            exit;
        } else {    
            echo (join('', file( $site_config['document_root'].$image_error )));
            exit;
        }
    }
    $image_type=$image_type_arr[2];
    
    switch ($image_type) {
        case 2: # JPG
            if (!$image = @imagecreatefromjpeg ($filename)) {
                $image = imagecreatefrompng ($image_error);
                $file_type="png";
                if (file_exists($cache_file)) {
                    unlink($cache_file);
                }
            }
            break;
    
        case 3: # PNG
            if (!$image = @imagecreatefrompng ($filename)) {
                $image = imagecreatefrompng ($image_error);
                $file_type="png";            
                if (file_exists($cache_file)) {
                    unlink($cache_file);
                }
            }            
            break;
    
        case 1: # GIF
            if (!$image = @imagecreatefromgif ($filename)) {
                $image = imagecreatefrompng ($image_error);
                $file_type="png";            
                if (file_exists($cache_file)) {
                    unlink($cache_file);
                }
            }            
            break;
        default:
            $image = imagecreatefrompng($image_error);
            break;
    
    }
    
    $image_width = imagesx($image);
    $image_height = imagesy($image);
    
    if (@$thumb_size_x>0) {
        $thumb_width = $thumb_size_x;
        $factor = $image_width/$thumb_size_x;
        $thumb_height = intval($image_height / $factor);
        if ($thumb_height>$thumb_size_y)
        {
            $thumb_height = $thumb_size_y;
            $factor = $image_height/$thumb_size_y;
            $thumb_width = intval($image_width / $factor);
        }       
    } else {
        $thumb_width = $thumb_size;
        $factor = $image_width/$thumb_size;
        $thumb_height = intval($image_height / $factor);
        if ($thumb_height>$thumb_size)
        {
            $thumb_height = $thumb_size;
            $factor = $image_height/$thumb_size;
            $thumb_width = intval($image_width / $factor);
        }
    }
    
    if ($image_width < 4000) {
        if (substr_count(strtolower($gd_version['GD Version']), "2.")>0) {
            $thumbnail = ImageCreateTrueColor($thumb_width, $thumb_height);
            imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height);
        } else {
            $thumbnail = imagecreate($thumb_width, $thumb_height);
            imagecopyresized($thumbnail, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height);            
        }    
    } else {
        if (substr_count(strtolower($gd_version['GD Version']), "2.")>0) {
            $thumbnail = ImageCreateTrueColor($thumb_width, $thumb_height);
            imagecopyresized($thumbnail, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height);
        } else {
            $thumbnail = imagecreate($thumb_width, $thumb_height);
            imagecopyresized($thumbnail, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height);
        }
    }
    
    if (@$_GET['tag']<>"") {
        $font=1;
        $string= $_GET['tag'];
        $white = imagecolorallocate ($thumbnail, 255, 255, 255);
        $black = imagecolorallocate ($thumbnail, 0, 0, 0);
        imagestring ($thumbnail, $font, 3, $thumb_height-9, $string, $black);
        imagestring ($thumbnail, $font, 2, $thumb_height-10, $string, $white);
    }
    
    switch ($image_type) {
        case 2:    # JPG
            header('Content-type: image/jpeg');
            header('Content-Disposition: inline; filename='.str_replace('/','',md5($filename.$thumb_size.$thumb_size_x.$thumb_size_y.$quality).'.jpeg'));
            @imagejpeg($thumbnail,$cache_file, $quality);
            imagejpeg($thumbnail,'',$quality);
    
            break;
        case 3: # PNG
            header('Content-type: image/png');
            header('Content-Disposition: inline; filename='.str_replace('/','',md5($filename.$thumb_size.$thumb_size_x.$thumb_size_y.$quality).'.png'));
            @imagepng($thumbnail,$cache_file);
            imagepng($thumbnail);
            break;
    
        case 1:    # GIF
            if (function_exists('imagegif')) {
                header('Content-type: image/gif');
                header('Content-Disposition: inline; filename='.str_replace('/','',md5($filename.$thumb_size.$thumb_size_x.$thumb_size_y.$quality).'.gif'));
                @imagegif($thumbnail,$cache_file);
                imagegif($thumbnail);  
            } else {
                header('Content-type: image/jpeg');
                header('Content-Disposition: inline; filename='.str_replace('/','',md5($filename.$thumb_size.$thumb_size_x.$thumb_size_y.$quality).'.jpg'));
                @imagejpeg($thumbnail,$cache_file);
                imagejpeg($thumbnail);
            }
            break;
    }
    
    imagedestroy ($image);
    imagedestroy ($thumbnail);
?>

Bước 2. Sử dụng:
 
Gắn đường link ảnh trên web của bạn, sau đó thay đổi các thông số images theo ý muốn của bạn.
<img src="resize_image.php?file={photo}&sizex=100&sizey=100&quality=100">

{photo} là link hình
sizex là chiều rộng của hình
sizey là chiều cao của hình
quality là chất lượng hình

Chúc bạn thành công!

Xem thêm:
- Cách tự động chuyển trang ( Auto Redirect ) bằng HTTP Status Code 301 hoặc 302

- Lấy đường dẫn URL và Title trang hiện tại bằng Javascript hoặc jQuery
- Lấy đường dẫn URL của trang hiện tại bằng PHP
- Tài liệu lập trình PHP và MYSQL bằng Tiếng Việt miễn phí
- Ebook căn bản lập trình PHP và MySQL bằng tiếng Việt