Tem
28
2011

Dinamik olarak thumbnail oluşturma II.Adım

Bir önceki yazımızda Php üzerinden ffmpeg kullanarak thumbnail oluşturma kısmına kadar gelmiştik. Şimdi ise buraya kadar yapılanları, çoklu video yüklemeyle entegre edelim. Birden fazla video yüklemek istediğimiz için web sayfamızda birden fazla file nesnesi bulunması gerekiyor. Mesela, bir buton bulunsun ve tıkladıkça yeni bir file elemanı sayfamıza eklensin. Bunun için JQuery ‘den faydalanalım. JQuery bildiğimiz üzere bir JavaScript kütüphanesi ve JavaScript yazmayı inanılmaz kolaylaştırıyor. Öncelikle JQuery kütüphanesini web sayfamızın bulunduğu dizine eklememiz gerekiyor. Devamında indirdiğimiz “jquery.js” dosyasını web sayfamıza ataçlamamız da gerekli.

<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ />
<title>Video yükleme</title>
<script type=“text/javascript” src=“jquery.js”> </script>
</head>

Ardından id’ si tablo olan bir table ekliyoruz. Tablonun içinde video[] adında bir de file nesnesi bulunuyor. id’si ekle olan butona tıklandığında tablonun en altına bir file nesnesi daha eklenmeli..

<input type=“submit” name=“ekle” id=“ekle” value=“+” />

<table id=“tablo” width=“312″ border=“0″ cellspacing=“0″ cellpadding=“0″>
<tr>
<td width=“254″><input name=“video[]“ type=“file” id=“video[]“ size=“30″ /></td>
<td width=“58″><input type=“submit” name=“btn_yukle” id=“btn_yukle” value=“Yükle” /></td>
</tr>
</table>

Bu JQuery script’ i ise ekle id ‘li butona tıkladığımızda tablonun en altına video[] nesnesini append ediyor. (ekliyor.)

<script>
$(“#ekle”).click(function() {
$(“#tablo”).last().append(“<input name=\”video[]\” type=\”file\” size=\”30\” />”)
});
</script>

Bkz. Jquery selectors

Şimdi ise Php üzerinde video upload nasıl gerçekleşecek? bunu görelim. Bize bir form nesnesi gerekiyor;

<form action=“video_yukle.php” method=“post” enctype=“multipart/form-data” name=”form1″>

.. … ..

</form>

Burada önemli olan nokta, sayfaya dosya post(a)’ lamak için enctype=“multipart/form-data” olmalı. btn_yukle butonuna tıkladığımızda, sayfa kendi üzerine tekrardan açılacak, ve video[] dizisi içindeki tüm dosyaları sayfaya göndermiş olacak.

if(@isset($_POST["btn_yukle"]))
{

/*  btn_yukle butonuna basıldığında form nesnesi içindeki tüm veriler sayfaya Post edilecek. Sayfa kendi üzerine tekrardan yüklendiği için btn_yukle set edildiyse, gönderim işlerini icra edecek. @ işareti ise hata ve uyarıları yok sayıyor. */

}

 

$temp_name=$_FILES["video"]["tmp_name"][$i];

  • Video sunucuya yüklenirken, sunucudaki geçici tmp uzantılı dosyanın adı

$name=“video_galeri/videos/”.$_FILES["video"]["name"][$i];

  • Video dosyasının gerçek adı

$img=explode(“.”,$_FILES["video"]["name"][$i]);

  • ör : explode(“.”,“video.flv”); >> Array ( [0] =>  “video” , [1] => “flv” )

$image=“video_galeri/thumbs/”.$img[0].“.jpg”;

  • Videonun adı + uzantısı ( jpg )

$filesize[]=$_FILES["video"]["size"][$i];

  • Yüklenen videonun boyutu ( 0 ise yükleme başarısız!! denebilir )

move_uploaded_file( $temp_name , $name );

  • Geçici dosyayı sunucumuzdaki istediğimiz bir yere yazıyoruz.

makeThumb( $name ,$image );

  • Kendi yazdığımız bu fonksiyon ile de , küçük resimi oluşturuyoruz.

 

Kaynak kodlar

 

Yorum yapabilirsiniz..

Yazar : Rahman Usta

En son haber ve ücretsiz eğitimlere ulaşmak için üye olabilirsiniz