Chủ Nhật, 21 tháng 1, 2018

Chuyển ảnh thành code HTML với PHP

Bài này mình sẽ giới thiệu với mọi người cách chuyển đổi hình ảnh sang code HTML với PHP. Demo sẽ như sau:


1, Thuật toán.
-Thuật toán xử lý hết sức đơn giản với cách thực hiện như sau:

+ Đầu chúng ta sẽ lấy ra hình ảnh cần quét. Và xác định chiều rộng và chiều dài của ảnh.

+ Sau đó chúng ta sẽ thực hiện lặp từng pixel của ảnh từ trái qua phải và từ trên xuống dưới để lấy mã màu (dạng RGB) của từng điểm ảnh.

+ Và khi có được mã màu rồi thì chúng ta sẽ vẽ nó theo code HTML của chúng ta với mỗi điểm ảnh tương ứng với một thẻ span.


-> Đấy đơn giản đúng không giờ mình cùng đi vào thực hành xem thế nào.

2, Thực hành thuật toán.
-Mình sẽ giải thích trong code luôn nhé!

<?php
//Lấy file ảnh từ máy
// Nếu ảnh png thì dùng hàm ImageCreateFrompng
// $img = ImageCreateFrompng('ha-noi.png');

//Nếu ảnh jpg thì dùng hàm ImageCreateFromJpeg
$image = ImageCreateFromJpeg('ha-noi.jpg');

// Lấy ra chiều rộng của ảnh.
$widthImage = imagesx($image);

//Lấy ra chiều cao của ảnh
$heightImage = imagesy($image);

//Lặp chiều cao của ảnh
for ($height = 0; $height < $heightImage; $height++) {

//Lặp chiều rộng của ảnh (Lấy dư ra một để xuống dòng)
for ($width = 0; $width <= $widthImage; $width++) {
//Nếu vị chí hiện tại bằng chiều rộng của ảnh
//thì xuống dòng và tiếp tục.
if ($width == $widthImage) {
echo '<br>';
continue;
}
// Lấy ra màu của điểm ảnh hiện tại
$rgb = ImageColorAt($image, $width, $height);

//Chuyển đổi màu sang dạng RGB.
//chuyển sang red
$red = ($rgb >> 16) & 0xFF;

//Chuyển sang Green
$green = ($rgb >> 8 ) & 0xFF;

//Chuyển sang Blue
$blue = $rgb & 0xFF;

//Hiển thị màu của ảnh dưới dạng html
echo '<span style="font-size:1px;color:rgb(' . $red . ',' . $green . ',' . $blue . ');">#</span>';

}
}

VD: Mình sẽ thử với bức ảnh:


Xem Kết Quả

3, Lời kết.
-Như vậy mình đã giới thiệu với mọi người cách chuyển đổi hình ảnh sang code HTML bằng PHP rồi. Tuy nhiên, cách này chỉ dùng chơi được thôi chứ áp dụng vào thực tế thì hoàn toàn không ổn, vì nó sử dụng quá nhiều tài nguyên (lặp dữ liệu quá nhiều).

Nguồn : Toidicode.com

Thứ Bảy, 13 tháng 1, 2018

Thêm Khung Liên Lạc Bên Tay Trái Cho WebBlog


Hôm nay Hùng Coder hướng dẫn cho các bạn một đoạn code khá hay cho các bạn bán hàng online hay tự vấn hổ trợ trực tiếp :), một dạng như chat online nhưng lại có thể gọi điện hoặc nhắn tin cho người đó ^^~.


Nếu bạn nào cần thì có thể bỏ đoạn code bên dưới và bỏ trên thẻ : </body> và lưu lại.

<!-- Support online hungcoder.com -->
<link href='https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css' rel='stylesheet'/>
<style>
.support-online{position:fixed;z-index:999;left:1%;bottom:11%}
.support-online a{position:relative;margin:20px 10px;text-align:left;width:40px;height:40px}
.support-online i{width:40px;height:40px;background:#43a1f3;color:#fff;border-radius:100%;font-size:20px;text-align:center;line-height:1.9;position:relative;z-index:999}
.support-online a span{border-radius:2px;text-align:center;background:#67b634;padding:9px;display:none;width:180px;margin-left:10px;position:absolute;color:#fff;z-index:999;top:0;left:40px;font-size:14.5px;transition:all .2s ease-in-out 0;-moz-animation:headerAnimation .7s 1;-webkit-animation:headerAnimation .7s 1;-o-animation:headerAnimation .7s 1;animation:headerAnimation .7s 1}
.support-online a:hover span{display:block}
.support-online a{display:block}
.support-online a span:before{content:&quot;&quot;;width:0;height:0;border-style:solid;border-width:10px 10px 10px 0;border-color:transparent #67b634 transparent transparent;position:absolute;left:-10px;top:10px}
.kenit-alo-circle-fill{width:60px;height:60px;top:-12px;position:absolute;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:2px solid transparent;-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s;background-color:rgba(0,175,242,0.5);opacity:.75;right:-12px}
.kenit-alo-circle{width:50px;height:50px;top:-6.5px;right:-6.5px;position:absolute;background-color:transparent;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;border:2px solid rgba(30,30,30,0.4);opacity:.1;border-color:#0089B9;opacity:.5}
.support-online .btn-support{cursor:pointer}
</style>
<div class='support-online'>
<div class='support-content'>
<a class='call-now' href='tel: 0868 7878 92' rel='nofollow'>
<i aria-hidden='true' class='fa fa-whatsapp'/>
<div class='animated infinite zoomIn kenit-alo-circle'/>
<div class='animated infinite pulse kenit-alo-circle-fill'/>
<span>Hotline: 0868 7878 92</span>
</a>
<a class='mes' href='https://www.facebook.com/messages/t/100002632149630'>
<i aria-hidden='true' class='fa fa-facebook-official'/>
<span>Nhắn tin facebook</span>
</a>
<a class='zalo' href='https://chat.zalo.me/'>
<i aria-hidden='true' class='fa fa-comment'/>
<span>Zalo: 0868 7878 92</span>
</a>
<a class='sms' href='sms:0868787892'>
<i aria-hidden='true' class='fa fa-weixin'/>
<span>SMS: 0868 7878 92</span>
</a>
</div>
<a class='btn-support'>
<i aria-hidden='true' class='fa fa-user-circle'/>
<div class='animated infinite zoomIn kenit-alo-circle'/>
<div class='animated infinite pulse kenit-alo-circle-fill'/>
</a>
</div>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function(){

$('a.btn-support').click(function(e){
e.stopPropagation();
$('.support-content').slideToggle();
});
$('.support-content').click(function(e){
e.stopPropagation();
});
$(document).click(function(){
$('.support-content').slideUp();
});
});
//]]>
</script>
<!-- End Support -->
Và qua đoạn code trên bạn như thay đỗi những phần mình bôi đỏ trên đoạn code đó nhé :)


DEMO BÊN TAY TRÁI CỦA CÁC BẠN


Chúc các bạn thành công với thủ thuật này nhé :)



Thứ Năm, 4 tháng 1, 2018

Tạo Button Download với CSS hover tuyệt đẹp cho Blogspot

Tạo Button Download với CSS hover tuyệt đẹp cho Blogspot


Chèn CSS trước : ]]></b:skin>
.bsw-btn{border:2px solid;overflow:hidden;position:relative;padding:10px;display:inline-block;width:200px;text-align:center;text-decoration:none!important;text-transform:uppercase;font:500 15px Roboto;margin:10px 0}
.bsw-btn:hover{letter-spacing:2px}
.bsw-btn:after{opacity:.4;background:#4267b2;content:"";height:155px;left:-75px;opacity:2;position:absolute;top:-50px;transform:rotate(35deg);transition:all 1s cubic-bezier(0.19,1,0.22,1);width:100px;z-index:100}
.bsw-btn:hover:after{opacity:1;left:120%;-webkit-transition:all 1s cubic-bezier(0.19,1,0.22,1);transition:all 1s cubic-bezier(0.19,1,0.22,1)}

Cách sử dụng:


<center><a class='bsw-btn bsw_btn' href='http://www.hungcoder.com/' target='blank'title='DEMO'>DEMO</a></center>

DEMO THỦ THUẬT

DEMO




Tạo thông báo nổi giữa màn hình với hiệu ứng fadeOut

Code tạo Popup thông báo nổi giữa màn hình tự động hiện khi vào trang, có nút tắt hoặc bấm vào bất cứ vị trí nào trên màn hình để tắt. Được tạo từ CSS và Javascript.



Quăng hết đống nào vào trước : </body>
<script type='text/javascript'>
//<![CDATA[
jQuery.cookie=function(key,value,options){if(arguments.length>1&&String(value)!=="[object Object]"){options=jQuery.extend({},options);if(value===null||value===undefined){options.expires=-1;}
if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days);}
value=String(value);return(document.cookie=[encodeURIComponent(key),'=',options.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));}
options=value||{};var result,decode=options.raw?function(s){return s;}:decodeURIComponent;return(result=new RegExp('(?:^|; )'+encodeURIComponent(key)+'=([^;]*)').exec(document.cookie))?decode(result[1]):null;};
//]]>
</script>
<script type='text/javascript'>//<![CDATA[
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1m(W(p,a,c,k,e,d){e=W(c){Y c};1b(!\'\'.1i(/^/,1l)){1c(c--){d[c]=k[c]||c}k=[W(e){Y d[e]}];e=W(){Y\'\\\\w+\'};c=1};1c(c--){1b(k[c]){p=p.1i(1n 1j(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c])}}Y p}(\'1x(26(24,27,21,23,22,25){22=26(21){X(21<27?\\\'\\\':22(2c(21/27)))+((21=21%27)>2b?1h.2a(21+29):21.2d(2e))};1e(!\\\'\\\'.1g(/^/,1h)){1f(21--){25[22(21)]=23[21]||22(21)}23=[26(22){X 25[22]}];22=26(){X\\\'\\\\\\\\1v+\\\'};21=1};1f(21--){1e(23[21]){24=24.1g(1u 1k(\\\'\\\\\\\\1a\\\'+22(21)+\\\'\\\\\\\\1a\\\',\\\'1r\\\'),23[21])}}X 24}(\\\'2g(28(24,27,21,23,22,25){22=28(21){Z 21};1d(!\\\\\\\'\\\\\\\'.1s(/^/,2f)){1t(21--){25[21]=23[21]||21}23=[28(22){Z 25[22]}];22=28(){Z\\\\\\\'\\\\\\\\\\\\\\\\1v+\\\\\\\'};21=1};1t(21--){1d(23[21]){24=24.1s(1Z 1Y(\\\\\\\'\\\\\\\\\\\\\\\\1a\\\\\\\'+22(21)+\\\\\\\'\\\\\\\\\\\\\\\\1a\\\\\\\',\\\\\\\'1r\\\\\\\'),23[21])}}Z 24}(\\\\\\\'7(1o).8(0($){1S($.5("6")!="9"){$("#3-2-4").1R(1Q).1T("1");$("#1U, #1X").1W(0(){$("#3-2-4").1V().2h("1")})}});\\\\\\\',1o,2i,\\\\\\\'28|2u|2t|2s|2v|2w|2y|2x|2r|2q|2l|1d|2k|1P|2m|2n|2p|2o|2z|1I\\\\\\\'.1z(\\\\\\\'|\\\\\\\'),0,{}))\\\',1w,1w,\\\'|||||||||||||||26||X|1e|1f||1g|10|15|1h||13|1x|14|16|18|1u||1k|11|19|1O|17|12|20|1K|1D|1N|1E|1F|1G|1p|1H|2A|1L|1J|1M|1C|1B|1A|1y|2j|2P\\\'.1p(\\\'|\\\'),0,{}))\',10,2S,\'|||||||||||||||||||||c|e|k|p|d|W|a|f||Y|b|h|1i|1b|||1l|i|1c|m|1n|1m|1j|j|g|1q|l|w|A|N|2J|D|2K|R|Q|U|y||V|T|P|2T|r|n|v|t|C|x|q|u|o|z|B|s|S|O|2U|2W|2V|2O|2B|2G|2H|2M|2I|2N|2L|2C|2D|2E|2F|I|J|E|F|H|G|M|L||2Q|2R|K\'.1q(\'|\'),0,{}))',62,183,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|30|return|32|||||||||||31|if|while|38|34|39|33|37|replace|RegExp|43|String|eval|new|40|46|split|45|47|44|41|48|58|42|91|103|90|81|82|85|88|89|84|83|99|79|86|77|80|87|100|97|73|72|57|70|67|69|64|66|68|65|||||||||||53|35|51|62|36|71|63|74|52|101|96|76|95|94|93|92|75|56|54|50|49|55|61|59|60|98|78|bacsiwindows|closebox|boxclose|yes|popup_facebook_box|vt|delay|fadeOut|parseInt|fromCharCode|stop|1000|click|cookie|102|ready|jQuery|104|toString|popup|document|fadeIn'.split('|'),0,{}))
//]]></script>
<style>
#bacsiwindows-popup-vt {display: none; background: #FFF; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 99999; -webkit-user-select: none; -moz-user-select: none; -o-user-select: none}
#boxclose {width:100%;height:100%;-webkit-transform:translateZ(0);}
#boxview {width: 100%; position: absolute; top: 30%; left: 0; background:white; padding:25px 0}
#closebox {float: right; cursor: pointer; position: fixed; right: 20px; top: 25px}
#closebox:before {font-family: FontAwesome; content: &quot;\f00d&quot;; padding: 10px 14px; background: white; color: #888; font-weight: normal; font-size: 32px; border-radius: 50px;}
#boxlink,#boxlink a.visited,#boxlink a,#boxlink a:hover {color:#aaaaaa;font-size:9px;text-decoration:none;text-align:center;padding:5px;}
#subscribe-box-blogttcn {width: 1000px; margin: auto; color: #666}
#subscribe-box-blogttcn p {color: #555; padding: 0; margin: 0 0 15px 0; font-size:40px;font-weight:700;font-family:"Roboto Condensed",sans-serif}
#subscribe-box-blogttcn a {color: #555; border: 2px solid #ddd; padding: 5px 0; display: block; margin: 20px 0 0 0; width: 200px; font-size: 20px; font-weight: 300;font-family:"Roboto",sans-serif}
#subscribe-box-blogttcn a:hover,#subscribe-box-blogttcn a:focus{color:#66689c;border:2px solid}
#subscribe-box-blogttcn span {font-family:"Roboto",sans-serif;font-weight:300;font-size:28px; padding: 0; margin: auto; line-height: 1.4}
@media screen and (max-width:768px){#subscribe-box-blogttcn{width:100%}}
</style>
<div id='bacsiwindows-popup-vt'>
<div id='boxclose'>
</div>
<div id='boxview'>
<div id='closebox'>
</div>
<div id='subscribe-box-blogttcn'>
<center><p>TUYỂN CỘNG TÁC VIÊN CHO BÁC SĨ WINDOWS</p>
<span>Chào các bạn, do mình không có nhiều thời gian để ra bài viết hằng ngày được nên mình sẽ tuyển thêm người viết bài cho blog.
<a href='http://www.bacsiwindows.com/p/tuyen-ctv.html'>XEM CHI TIẾT <i class='fa fa-angle-right'/></a></span></center>
</div></div></div>

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





HÙNG CODER BLOG'S
CLICK ĐÚP CHUỘT VÀO MÀN HÌNH ĐỂ THOÁT.

XEM CHI TIẾT



Tạo Popup hiện ra khi click với hiệu ứng đẹp bằng CSS cho Blogspot

Tạo Popup hiện ra khi click với hiệu ứng đẹp bằng CSS cho Blogspot. Sử dụng thẻ HTML :target, popup được thiết kế chỉ hoàn toàn bằng CSS với hiệu ứng và transform tuyệt đẹp cho Blogspot.
Bạn có thể dùng nó để tạo popup thông báo, liên hệ, lưu ý,...


Quăng hết đống code này vào sau thẻ <body>

<style>#bsw_popup{top:0;left:0;right:0;bottom:0;position:fixed;opacity:0;visibility:hidden;transition:.5s;transform:scale(1.2)}
#bsw_popup:target{transform:scale(1);background:rgba(0,0,0,.2);opacity:1;visibility:visible;position:fixed;top:0;left:0;right:0;bottom:0;margin:0;z-index:999999999999;transition:.5s}
.bsw_popup_{background:#fff;border-radius:4px;z-index:999;width:600px;max-width:100%;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%);margin:0;padding:20px;box-sizing:border-box;box-shadow:0 0 100px rgba(0,0,0,.1)}
.bsw_popup_ h2{margin:0 0 .75em;padding:0;text-align:center;font-weight:700;font-family:Roboto,sans-serif;color:#4267b2}
.bsw_popup_ h3{margin:0 0 5px;padding:0;font:500 15px Roboto;text-transform:uppercase}
.bsw_popup_ p{margin:0 0 20px;padding:0;font:400 15px Roboto;color:#555;line-height:1.5}
.bsw_popup_ p a{font-weight:700;color:#555}
.bsw_popup_ p a:hover{text-decoration:underline}
<!-- code popup bacsiwindows.com -->
</style>
<div id='bsw_popup'>
<div class='bsw_popup_'>
<h2>Hướng dẫn bình luận</h2>
<h3>Chèn link</h3>
<p>Sử dụng thẻ <code>&amp;lt;a href=&amp;#39;LINK&amp;#39;&amp;gt;TÊN_HIỂN_THỊ&amp;lt;/a&amp;gt;</code></p>
<h3>Chèn hình ảnh</h3>
<p><code>[img] LINK_ANH [/img]</code> - sử dụng công cụ bên dưới để upload ảnh.</p>
<h3>Định dạng chữ</h3>
<p> &amp;lt;b&amp;gt; <b>Chữ in đậm</b> &amp;lt;/b&amp;gt;<br/> &amp;lt;i&amp;gt; <i>Chữ in nghiêng</i> &amp;lt;/i&amp;gt;<br/> &amp;lt;u&amp;gt; <u>Chữ gạch chân</u> &amp;lt;/u&amp;gt;<br/> &amp;lt;strike&amp;gt; <strike>Chữ gạch ngang</strike> &amp;lt;/strike&amp;gt;<br/> </p>
<h3>Chèn một đoạn Code</h3>
<p>Đầu tiên sử dụng <a href='//bacsiwindows.com/mahoahtml' target='blank'>công cụ này</a> để mã hóa đoạn code muốn chèn.<br/>Sau đó dùng thẻ <code>[code] CODE_ĐÃ_MÃ_HÓA [/code]</code></p><a class='close' href='#close' title='Close'><i aria-hidden='true' class='fa fa-check'/> Đã hiểu</a> </div>
</div>



CÁCH SỬ DỤNG :
Thêm href="#bsw_popup" hoặc id="#bsw_popup" vào bất cứ thẻ nào mà bạn muốn khi click sẽ hiện popup ra là được.
Ví dụ: <a href="#bsw_popup">Mở Popup</a>

TỔNG KẾT
Với thiết kế đẹp và cách thực hiện đơn giản, đây là mẫu popup được thiết kế bởi Bác Sĩ Windows chỉ bằng HTML và CSS nên khi sử dụng sẽ không làm ảnh hưởng đến những thành phần khác trên blog cũng như tốc độ tải trang. Cho một bình luận/chia sẻ nếu thấy hữu ích nhé.

DEMO THỦ THUẬT



Hướng dẫn bình luận

Chèn link

Sử dụng thẻ &lt;a href=&#39;LINK&#39;&gt;TÊN_HIỂN_THỊ&lt;/a&gt;

Chèn hình ảnh

[img] LINK_ANH [/img] - sử dụng công cụ bên dưới để upload ảnh.

Định dạng chữ

&lt;b&gt; Chữ in đậm &lt;/b&gt;
&lt;i&gt; Chữ in nghiêng &lt;/i&gt;
&lt;u&gt; Chữ gạch chân &lt;/u&gt;
&lt;strike&gt; Chữ gạch ngang &lt;/strike&gt;

Chèn một đoạn Code

Đầu tiên sử dụng công cụ này để mã hóa đoạn code muốn chèn.
Sau đó dùng thẻ [code] CODE_ĐÃ_MÃ_HÓA [/code]

Thứ Ba, 2 tháng 1, 2018

Upload ảnh sử dụng ajax với PHP

Mấy hôm nay lang thang trên các group thấy mọi người hay vướng về upload ảnh sử dụng ajax với PHP, nên hôm nay mình sẽ demo cho các bạn một ứng dụng upload ảnh sử dụng ajax và PHP đơn giản.


1, Tổng quan.
Nhìn chung nếu muốn hiểu được demo này thì các bạn cần phải có các kiến thức cơ bản sau:
  • PHP : biết được upload file bằng PHP, xử lý chuỗi.
  • Jquery: Biết ajax và thao tác với element cơ bản.


2, Xây dựng.
Cấu Trúc
-Cấu trúc thư mục của ứng dụng sẽ có dạng như sau:
index.html //phần giao diện
upload.php //xử lý upload
uploads // thư mục upload
Giao diện
-Đầu tiên chúng ta sẽ sử dụng HTML và bootstrap để xây dụng giao diện cho ứng dụng.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title> Upload file vs Ajax</title>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" type="text/javascript"></script>
</head>
<body>
<div class="container">
<div class="panel panel-success">
<div class="panel-body">
<form action="" method="POST" role="form">
<legend>Upload</legend>

<div class="form-group">
<label for="">Chọn file</label>
<input id="file" type="file" name="sortpic" required="" />
</div>
<div class="form-group">
<button id="upload" class="btn btn-primary">Upload</button>
</div>
</form>
<div class="status alert alert-success"></div>
</div>
</div>
</div>
</body>
</html>

Xem Giao Diện

Xử lý ajax
-Tiếp đó chúng ta sẽ sử lý ajax như sau:
<script>
//xử lý khi có sự kiện click
$('#upload').on('click', function() {
//Lấy ra files
var file_data = $('#file').prop('files')[0];
//lấy ra kiểu file
var type = file_data.type;
//Xét kiểu file được upload
var match= ["image/gif","image/png","image/jpg",];
//kiểm tra kiểu file
if(type == match[0] || type == match[1] || type == match[2])
{
//khởi tạo đối tượng form data
var form_data = new FormData();
//thêm files vào trong form data
form_data.append('file', file_data);
//sử dụng ajax post
$.ajax({
url: 'upload.php', // gửi đến file upload.php
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(res){
$('.status').text(res);
$('#file').val('');
}
});
} else{
$('.status').text('Chỉ được upload file ảnh');
$('#file').val('');
}
return false;
});
</script>

Server nhận và xử lý upload
-Ở upload.php chúng ta sẽ xử lý như sau:
<?php
if(isset($_POST) && isset($_FILES['file'])){
$duoi = explode('.', $_FILES['file']['name']); // tách chuỗi khi gặp dấu .
$duoi = $duoi[(count($duoi)-1)];//lấy ra đuôi file
//Kiểm tra xem có phải file ảnh không
if($duoi === 'jpg' || $duoi === 'png' || $duoi === 'gif'){
//tiến hành upload
if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name'])){
//Nếu thành công
die('Upload thành công file: '. $_FILES['file']['name']); //in ra thông báo + tên file
} else{ //nếu k thành công
die('Có lỗi!'); //in ra thông báo
}
} else{ //nếu k phải file ảnh
die('Chỉ được upload ảnh'); //in ra thông báo
}
}
else{
die('Lock'); // nếu không phải post method
}

3, Lời Kết.
-Như vậy mình đã xây dựng xong úng dụng upload ảnh bằng ajax + php rồi. Vì đây là basic nên mình chỉ làm đơn giản như vậy thôi, còn trong thực tế có thể nó sẽ phức tạp hơn.


Nguồn: Toidicode.com

[DOWNLOAD] ADOBE AFTER EFECTS CS6 PORTABLE | BẢN KHÔNG CÀI ĐẶT


Hướng dẫn cách tải và cài đặt After Efects CS6 Portable (Bản không cần cài đặt)
Vậy After Efects CS6 là gì?

  • Affter Efects CS6 là phần mềm đồ họa tổng hợp được nghiên cứu và phát triển bởi hãng Adobe. 
  • Phần mềm được ứng dụng nhiều trong đồ họa động và những kỹ xảo phim chuyên nghiệp. Chức năng chính của nó là tạo ra những đồ họa chuyển động kỹ xảo đẹp mắt!

Để sử dụng các bạn nhấn vào link phía dưới để tải After Efects về.


DOWNLOAD

Các bạn tải về rồi giải nén file ra và mở phần mềm lên sử dụng bình thường thôi. Trong lúc mở phần mềm mà nó có xuất hiện cái bản thông báo toàn dấu chấm hỏi thì các bạn cứ nhấn nút OK nhé!