AJAX İle Dosya Göndermek

AJAX & JavaScript & DOM & Php yakuter

DOSYALAR

index.php: Betiğimizin temel dosyası ve anasayfasıdır. Dosya gönderme formu, javascript fonksiyonlarımız ve css stil seçicilerimiz bu dosyada bulunur. Dosyanın dikkatinizi çekmek istediğim kısmı javascript fonksiyonlarıdır.

JAVASCRIPT:
  1. function dosyaSil(silinecekDosya) {
  2.     if( confirm('Dosya Silinsin mi?') ) {
  3.         var sc="yap=sil&dosya="+silinecekDosya;
  4.         JXP(1, "dizin_alani", "cevap.php", sc);
  5.     }
  6. }
  7.  
  8. function yenile() {
  9.     var sc="yap=yenile";
  10.     JXP(1, "dizin_alani", "cevap.php", sc);
  11. }
  12.  
  13. function dosyaGonder(){
  14.     document.dosyaFormu.submit();
  15.     var sc="yap=gonder";
  16.     JXP(1, "dizin_alani", "cevap.php", sc);
  17.     document.dosyaFormu.reset();
  18. }

Farkettiyseniz artık AJAX nesnesi XmlHttpRequest'i çağırmak için bir ton kod ile uğraşmıyoruz. Hazır kütüphane kullanmanın faydalarından birisi de budur. Tabi konunun mantığını anlamadan da hazır kütüphane kullanmanızı kesinlikle tavsiye etmiyorum.

Javascript fonksiyonlarına dönecek olursak:
dosyaSil(dosya) fonksiyonu cevap.php dosyasına silinmesini istediğimiz dosyanın ismini gönderir. Gelen sonuç dizin_alani id'sine sahip alanda görüntülenir. Şunu da belirtmekte fayda var, gelen sonuç yine dizindeki dosyaları listeleme işlemidir.
yenile() fonksiyonu dosya listesini yenilemenizi sağlayan fonksiyondur. Tüm sayfa yerine sadece AJAX sayesinde dosya listesini yenileyebiliyoruz. Yenilerken yapılan işlem cevap.php dosyasından dizini listelemesini istemekten başka bir şey değildir ;)
dosyaGonder() fonksiyonu önce formumuzu yani gözat diyerek seçmiş olduğunuz dosyayı iframe'e gönderir, ardından cevap.php dosyasından dosya listesini yenilemesini ister ve son olarak formu sıfırlar.
Not: Dosyayı iframe'e göndermesini buradan değil, formun tanım bilgisinden target="pencere" yani pencere isimli iframe diyerek belirtiyoruz.

dizin.php: Bu dosyanın tek işlevi kendi içinde barındırdığı ve bizim düzenlediğimiz klasor değişkeni ile belirtilen dizindeki dosyaları listelemek. Bu dosyayı include('dizin.php'); diyerek anasayfada(index.php) ve cevap.php dosyasında çağırıyoruz.

PHP:
  1. <?php
  2.     $klasor = "dosyalar/"; //Burayi duzenleyin
  3.    
  4.     $sonuc='<table style="font-size:12px;">';
  5.     if ($dizin = opendir($klasor)) {
  6.         while ($dosya = readdir($dizin)) {
  7.             if ($dosya!='.' AND $dosya!='..')
  8.                 {
  9. $sonuc.= '<tr style="background-color:#EEEEEE;height:10px;border:1px dashed Gray;">';
  10. $sonuc.= '<td style="padding: 5px;" width="450" align="left">';
  11. $sonuc.= '<a href="dosyalar/'. $dosya. '">'. $dosya. '</a></td>'; //burasi onemli
  12. $sonuc.= '<td style="padding: 5px;" width="50" align="center">';
  13. $sonuc.= '[<a href="javascript:dosyaSil(\''. $dosya. '\');">sil</a>]</td>';
  14. $sonuc.= '</tr>';
  15.                 }
  16.             }
  17.         closedir($dizin);
  18.         }
  19.     $sonuc.='</table>';
  20.     echo $sonuc;
  21. ?>

cevap.php: Bu dosya AJAX ile bilgileri gönderdiğimiz dosyadır. İki adet işlevi bulunmakta:
1) Eğer silme işlemi seçilmişse, dosya değişkeni ile gelen dosyayı siliyor.
2) Dizindeki dosyaları dizin.php dosyasını çağırarak listeliyor.

Burada dikkatinizi çekmek istediğim konu sleep(2) fonksiyonu. Bu fonksiyon içine girilmiş olan değer boyunca(saniye) betiği bekletir. Bekletmek istedim çünkü aynı zamanda bir yandan iframe'e gönderilmiş bir dosya bulunmakta ve bu dosya siteye yüklenmekte. Diyelim ki dosyamız biraz büyük. O halde cevap.php fonksiyonundan cevap geldiğinde dosya hala yüklenmediği için yine eski dizini görebiliriz. Bu yüzden de dosyanın gönderilmediğini sanarız. Oysa ki dosya hala gönderilmektedir. Aslında buna bir tedbir olarak anasayfaya (index.php) dizin listesini yenilemek için Yenile bağlantısı koydum ama yine de bu sleep fonksiyonu da bir önlem olabilir.

PHP:
  1. <?php
  2.  
  3. $klasor = "dosyalar/"; //Burayi duzenleyin
  4.  
  5. if ($_POST['yap'] =="sil")
  6.     {
  7.     $dosyasil = $klasor.$_POST['dosya'];
  8.     $silindi=unlink($dosyasil);
  9.     }
  10.  
  11. sleep(2);
  12.  
  13. include('dizin.php');
  14. ?>

islem.php: Bu dosya iframe içinde çağırdığımız dosyadır ve form ile gönderilen dosyayı yine islem.php dosyasında bulunan klasor değişkeni ile belirttiğimiz klasöre gönderir.

PHP:
  1. <?php
  2.    
  3. $klasor = "dosyalar/"; //Burayi duzenleyin
  4. $giden = $klasor . basename($_FILES['dosya']['name']);
  5. move_uploaded_file($_FILES['dosya']['tmp_name'], $giden)
  6.  
  7. ?>

Ve mutlu son

Bu uygulama geliştirildiği takdirde basit işlemler için güzel bir dosya yöneticisi haline dönüşebilir. Hatta dosya gönderme işlemi php'nin ftp fonksiyonlarıyla yapılırsa tıpkı bir ftp programı gibi kullanılabilen bir betik bile olabilir ;)

Umarım AJAX Göndermeç'ten memnun kalırsınız. Maksadım mantığını anlatmak olduğu için basit bir örnek sundum size. Belki ilerki seviyelerde sadece kullanmanız için güzel örnekler verebiliriz.

Güle güle kullanın :)

AJAX Göndermeç'i test edin.
AJAX Göndermeç'i indirin.

Sayfalar: 1 2

Toplamda 14550 kez okunmuş.
Şu an 1 kişi okuyor.
En fazla 7 kişi aynı anda okumuş.
Bugün 32 kez okunmuş.

Etiketler:

1 oy2 oy3 oy4 oy5 oy (34 oy, ortalama 4.59) Oylanıyor ... Oylanıyor ...

  1. PHP ve Yerleşik DOM Sınıfları
  2. Javascript Sanal Klavye Yapalım
  3. Ajax Olmasaydı Ne Yapardık ? :)

Trackback Yorumları takip et Baskı Önizleme

55 yorum var

  1. # Deniz | 28 Şubat 2007, 00:49 Gravatar

    Merhaba güzel olmuş şimdi test ettim de bir de dosyayı sil dediğinizde şifre soracak bi admin özelliği eklense sanırm daha güzel olur . İyi çalışmalar elinize sağlık.

  2. # eburhan | 28 Şubat 2007, 11:06 Gravatar

    @Deniz
    Biz yazıların karmaşıklaşmaması için oldukça basit ve sade bir şekilde yazmaya çalışıyoruz. Evet o dediğiniz yapılabilir fakat bu yazı, ajax ile dosya göndermenin mantığına yoğunlaşmış bir yazıdır. Bu işin nasıl yapıldığını öğrenen birisi bundan sonra her istediğini yapabilir, her istediği özelliği ekleyebilir, script’i istediği gibi geliştirebilir artık.

  3. # grkn | 28 Şubat 2007, 16:26 Gravatar

    güzel makale yakuter :) teşekkürler bende bunu düşünüyordum aydınlatmış oldun beni :)

  4. # yakuter | 28 Şubat 2007, 18:18 Gravatar

    Beğenmenize sevindim :) Aslında bunu geliştirip tam anlamıyla bir dosya yöneticisi yapmak da aklımdan geçmiyor değil ;)

  5. # eburhan | 28 Şubat 2007, 23:39 Gravatar

    Erhan aynı şey benim de aklımdan geçiyor :)

  6. # kara | 28 Şubat 2007, 23:47 Gravatar

    Afedersiniz ama iframe kullandıktan sonra bir ajax kütüphanesi ya da bu kadar komplike javascript kullanmanın mantığını çözemedim. Madem bir iframe kullanıyorum, iframe içinde gerçekleşen olaylar neticesinde body onload ile parent frame’de istediğim gibi at koşturabilirim.

  7. # o--d | 01 Mart 2007, 08:45 Gravatar

    guzel bir yazı olmuş. Ajax-tr yi ve sizi bilgilerinizi bizimle paylaştığınız için tebrik ve takdir ediyorum.

  8. # yakuter | 01 Mart 2007, 11:56 Gravatar

    @kara elbette ki bunu yapabilirsin. Fakat biz parent frame’i yenilemiyoruz. AJAX’i kullandığımız nokta sadece dizin listeleme bölümü. iframe sadece dosyanın gönderildiği form. Bundan başka bir maksadı yok iframe’in.

    Tabi şu da olabilir. Bizim AJAX ile dizinin yenilemesini sağladığımız yere bir iframe koyarsın ve oranın yenilenmesini sağlayabilirsin. Artık AJAX veya iframe kullanmak kararı sana kalmış.

    Sonuç olarak zaten makalede asıl varmak istediğim nokta, dosya kısmının mecburen iframe veya doğrudan başka bir dosyaya yönlenmek zorunda kaldığı, diğer olayları dilediğiniz teknolojiyle yapabileceğinizdi. Anlaşılmışsa ne mutlu bana :)

  9. # kara | 01 Mart 2007, 23:13 Gravatar

    parent frame’i yenilemeniz gerekmiyor. parent frame’den fonksiyon çağırabilirsiniz. XMLHttpObject yokken kullanıyorduk zaten bu tip atraksiyonları. Benim demek istediğim bu yazdığınız uygulama için ajax kullanmaya gerek yok.

    body onload=”window.parent.guncelle(’yenidosya.zip’);”

    şeklinde ana pencereden fonksiyon çağırabiliyorsunuz. Dolayısıyla ajaxa gerek kalmıyor. Umarım ben de anlatabilmişimdir meramımı.

  10. # AhmetK | 01 Mart 2007, 23:20 Gravatar

    Bu scriptin ASP kodları ile çalışanı da yapılabilir. Yapan varsa inceleyebiliriz. Güzel bir çalışma olmuş. Bilginize sağlık.

  11. # yakuter | 02 Mart 2007, 08:11 Gravatar

    @kara aslında ikimiz de aynı şeyleri söylüyoruz yani dediğin gibi bunu yapabilmek için “AJAX olmasa da olur” fakat benim amacım “Peki AJAX ile nasıl yapılır?” sorusuna cevap vermekti. Makalemde de AJAX ile dosya göndermenin mümkün olmadığını, sadece Göndermeç’teki gibi bir dizin yenileme işlemi yapabileceğimizi açıklamaya çalıştım.

    Sanırım bu sefer düşündüklerimi açıklayabildim :)

    @AhmetK dediğinde haklısın. ASP ile de bu örnekleri sunmalıyız fakat malesef sitenin şuan ki örnek hazırlayan yazarları hep PHP programcıları. Yani ciddi bir ASP bilen yazar ihtiyacımız var. Bu nedenle bir kaç yer ile görüşmekteyiz. İnşallah dilediğimiz gibi biri aramıza katılır…

  12. # Orhan | 03 Mart 2007, 01:23 Gravatar

    Peki bir progress bar için ne yapmamız gerekiyor? XMLHttpObject nesnesinden dosyanın kaç byte’ının transfer edildiği gibi bir bilgi dönüyor mu?

  13. # yakuter | 13 Mart 2007, 08:50 Gravatar

    @Orhan, kusura bakma geç cevap yazıyorum. Nasıl olduysa bu yorum gözümden kaçmış. Aslında progress bar konusunda haklısın. Bilmek gerekli fakat ben de hiç düşünmemiştim nasıl yapılacağını :) Aslında aklımda bir iki teknik var işe yarayabileceğini düşündüğüm. Bir deneyeyim, olursa söylerim kısaca ;)

  14. # mutkan | 15 Mart 2007, 23:47 Gravatar

    evt ya, progress bar olursa tam super olcak

  15. # mutkan | 16 Mart 2007, 00:06 Gravatar

    kurdum ve cok guzel calisiyo, ellerine saglik, fakat bir sorum olacakti. Ben dosyalara sadece root un erismesini istiyorum. Burda dosyalar/bilmem.jpg yazinca dosya download edilebiliyor. Dosyalar kismina erisimi nasil kisitlayabiliriz. Tesekkurler..

  16. # Burak | 17 Mart 2007, 23:57 Gravatar

    @orhan, @yakuter, @mutkan: Progress bar için iframe’de dosya upload edilirken başlangıçta tetiklenen bir periyodik xmlhttp sorgusu ile sunucudan upload edilen miktar bilgisi alınabilir. Php için sunucuda filesize() komutu ile geçici dosyanın boyutu döndürülebilir. Gerisi tamamen hayalgücünüze kalmış :) Boş bir zamanımda örnek bir kod yazıp burada yayınlamayı isterim.

  17. # orhan | 18 Mart 2007, 17:24 Gravatar

    canım benim işte bu :) Bu kadarı bile yeter gerisi için…

    Web de birkaç örneğe rastladım fakat onlarda PHP+PERL ile birşeyler yapmışlar o yüzden pek bişey anlamadım ama bunu bir denemek lazım tabi…

  18. # yakuter | 18 Mart 2007, 22:26 Gravatar

    @burak dediğin oldukça mantıklı ve yapılabilir. Hiç bu açıdan düşünmemiştim :) Teşekkür ederim bizi aydınlattığın için ;)

  19. # frosten | 20 Mart 2007, 17:46 Gravatar

    peki ben bu işi asp.net ile yapmak istiyorsam?

  20. # Vokan Özçelik | 23 Mart 2007, 07:18 Gravatar

    Makale için teşekkürler.

    Güncel olarak üretim ortamında da kullanılan bir teknik bu.

    Örneğin Gmail çaktırmadan e-posta ile beraber eklenti dosyalar gönderirken aynı tekniği kullanıyor.

    Hatta meraklısına bir ara gmail uygulaması çalışırken gelip giden requestleri bir sniff edin diyebilirim (tercihen firebug ile). Orjinal şeylere rastlayabiliyorsunuz ;)

    Sevgiler.

  21. # eburhan | 23 Mart 2007, 09:07 Gravatar

    @Volkan
    Dediğin gibi Gmail dosya eklerken çaktırmadan (onChange olayında) dosyayı yüklüyor. Zaten Firebug ile XMLHttpRequest isteklerini dinlemeyi anlatacağım. O zaman tekrar bahsederiz :)

  22. # byfobi | 18 Nisan 2007, 01:26 Gravatar

    Test etme alanında sorun var sanırım makele için tşkler.

  23. # eburhan | 18 Nisan 2007, 09:15 Gravatar

    Örnekleri “ücretsiz” sunucuda tuttuğumuz için bazen böyle sorunlar oluşabiliyor. Sorunu düzelttim ve şimdi eskisi gibi çalışıyor. Haber verdiğiniz için teşekkürler ;)

  24. # bayram | 25 Nisan 2007, 10:37 Gravatar

    harika güzel olmuş

  25. # herace | 29 Nisan 2007, 00:18 Gravatar

    yakuter hani demişsin ya bunu geliştirmeyi düşünüyorum dört gözle bekleyenlerdenim :D

  26. # Melih | 16 Mayıs 2007, 21:13 Gravatar

    Teşekkürler. Ajax’a yeni başladık.Açıkçası mantığını anlamada çok faydasını gördüm.

  27. # selant | 18 Mayıs 2007, 22:13 Gravatar

    hocam çok sağlam makale olmuş, tebrikler, teşekkürler.

  28. # Emrah | 31 Mayıs 2007, 17:23 Gravatar

    Selamlar
    Çok güzel bir yazı olmuş, teşekkürler.
    Ben bir sorunla karşılaştım ve fikrinizi almak istiyorum.
    Bu sistemi kendi upload fonksiyonumla harmanladım ve çok güzel çalıştı.
    Ancak upload olayını yüksek hacimli dosyalarda kullanırken, fonksiyon upload işlemini bitiremeden dizin.php yenileniyor.
    Bu durumda dosya maalesef yüklenmemiş gözüküyor.
    2 şansım var.Birisi yenile butonunu kullanıp kontrol etmek.
    (bu amatörce geliyor biraz ve kullanmak istemiyorum)
    birde sleep fonksiyonunun süresini uzatmak var ama onuda tahmin etmek imkansız.
    15 sn desem kısa olabilir, 40sn desem o da çok fazla…
    Sizce dizin.php yi otomatik olarak 10sn de bir yeniletmek nasıl olur? Ve bunu nasıl yapmalıyım?
    Yada aklınıza gelen başka bir metod var mı?
    Teşekkürler

  29. # GÖkhan | 01 Haziran 2007, 01:09 Gravatar

    Merhaba. Sleep() fonksiyonunu kullanmak hatalıdır. Dosya boyutunu bilmediğimiz için ve/veya sunucunun o anki durumuna göre dosya yükleme süresi değişeceğinden sleep() pek yararlı olmaz. Bunun yerine dosyaGonder(); fonksiyonu ile yeni bir xmlHttprequest nesnesi çalıştırıp bu nesneyi dizin içeriği alındığında bilgiler değiştiği ana kadar setTimeout ile tekrarlı çalıştırabiliriz. Dizini listelemek için alınan bilgilerde bir değişiklik olduğu anda clearTimeout ile tekrarlamayı durdurabiliriz. Bu aynı anda iki kişinin dosya yüklemesi durumunda da bize yarar sağlar.

  30. # Onur | 14 Haziran 2007, 03:21 Gravatar

    merhaba,
    HATA: Internal Server Error hatası alıyorum. neden bu tür bir hata veriyor?

  31. # Caner | 26 Haziran 2007, 12:22 Gravatar

    Ne kadar büyüklükte dosyalar kabul ediliyor acaba ? Öylesine deneyeyim dedim ama tam kestiremedim.Resimler yükleniyor ama EXE’ler yüklenemiyor, ayrıca 26 MB’Lık bir exe’yi uzantısı jpg olacak şekilde denedim yine yüklenmedi.Bir sınırı var mı ? Kıstaslardan bahsedecek olan arkadaşların yorumlarını bekliyorum.

    Hepinize iyi günler, iyi çalışmalar dileirm…

  32. # eburhan | 28 Haziran 2007, 09:37 Gravatar

    @Caner
    Belli bir dosya boyutunu geçerseniz sistem yüklemenize izin vermiyor. Bu limitin kaç mb olduğunu söyleyemeyiz. Bu arada exe, php gibi dosyalara izin verilmiyor.

  33. # Caner | 28 Haziran 2007, 11:20 Gravatar

    Teşekkür ederim Eburhan.Ancak neden söyleyemediğini merak ediyorum.Acaba bu 110mb’deki hesabın güvenliği için mi yoksa kesin bir değeri olmadığından mı :S ?

    Bu değer benim için önemli.Kodlarda kesin bir ifade göremediğimden merak ediyorum affedin.Hem, exe gibi dosylara izin vermek için ne yapmak gerekir ?

    Hoşçakalın.

  34. # eburhan | 28 Haziran 2007, 12:04 Gravatar

    @Caner
    Bu makalenin sonunda kaynak kodları indirebileceğiniz adres mevcut. Bu adresten indirdiğiniz dosyada herhangi bir kısıtlama yok. Yani exe gibi dosyalara izin vermek için ekstra birşey yapmayacaksın.

    Biz 110mb’a yüklerken ise mecburen bazı kısıtlamalar yapmak zorundaydık. Çünkü sistemi suistimal etmek isteyen zıpçıktılar oldu maalesef. Neden böyle yapıyorlar anlam veremiyorum. Sanki biz orada 10.000 kişinin kredi kartı bilgilerini saklıyoruz :D

  35. # Caner | 28 Haziran 2007, 12:35 Gravatar

    Boşuna mesaj kirliliği yaptığımı sanmayın ama aslında merak ettiğim bir diğer sorunun cevabını alamadım.Biz bu indirdiğimiz kaynak kodlarını localde çalıştırıyoruz diyelim.Makinemde dosya saklayacağım mesela ben.Bu örneklerle ne kadar büyüklükte bir arşiv dosyasını ya da video dosyasını saklayabilirim mesela ? Bunu merak ediyorum aslında.

    Hoşçakalın.

  36. # eburhan | 28 Haziran 2007, 13:21 Gravatar

    Ne kadar büyüklükte dosya uplaod edebileceğini php.ini dosyasındaki upload_max_filesize ayarı belirler. Meselâ bu ayarı 500M olarak belirlersen 500 MB’a kadar kendi bilgisayarında dosya upload edebilirsin.

  37. # Caner | 28 Haziran 2007, 13:24 Gravatar

    Tamaaam, ben de diyorum neden 2 MB’dan büyük dosyalarda sapıtıyor diye. Bendeki 2 MB imiş. Eburhan işte bu cevap bana yeter kardeşim. Çok sağol. Demek ki şu php öğrenme sürecinde, etrafı daha fazla kurcalamam gerekiyor.

    Hoşçakalın. İyi çalışmalar…

  38. # farkob | 20 Temmuz 2007, 18:20 Gravatar

    Dosya boyutu değil önemli olan, sleep(2)’dir. Eğer yorumlarda denildiği gibi setTimeout’la birkaç saniyede bir denenmesi daha mantıklı.

    Çünkü 26 Mb iki saniyede yüklenemez, ve cevap 2sn hatta artı bir kaç milisaniye sonra geleceğinden, yüklenmemiş olduğu için yüklenmiyor. Ayrıca exe’ler için bir snırlama yok görüldüğü gibi PHP scriptinde de. Ama belki php.ini’de ayarı vardır, sadece şu mime typelarını kabul et diye.

    Ayrıca sadece resim upload edilen yerlerde, aklınızda bulunsun, imaj açılıp gd libraryle yazdırılıp tekrar kaydedilir. O yüzden mesela imageshack’e de upload edemezsiniz exeleri.

  39. # yakuter | 20 Temmuz 2007, 18:35 Gravatar

    @farkob yorumuna tamamen katılıyorum. Sadece şu notu düşmek istedim, bu örnek upload işleminin nasıl yapıldığını en basit haliyle anlatmak içindi tıpkı sitedeki diğer örnekler gibi. Güvenliktir, diğer olasılıklardır düşünmedim. Fakat dediğin gibi buna bir exe kontrolü, dosya boyutu kontrolü vs eklenebilir. Teşekkür ederim yorumun için.

  40. # Slyther | 22 Temmuz 2007, 20:06 Gravatar

    Neden hep PHP olarak yapıyorsunuz anlamadım gitti?

  41. # yakuter | 23 Temmuz 2007, 00:23 Gravatar

    #Slyther, aslında cevap basit, PHP bildiğimizden PHP ile yazıyoruz :)

  42. # hasan | 26 Temmuz 2007, 07:30 Gravatar

    super bi anlatim olmus paylasim icin teskurler

  43. # Cumhur KORKUT | 01 Ağustos 2007, 21:43 Gravatar

    @Slyther, PHP daha çok kullanılıyor ve açık kaynaklı. Sen de ASP(.NET) konusunda bize destek verebilirsin. ;)

  44. # doğan | 01 Eylül 2007, 09:27 Gravatar

    herşey iyi güzel ama bu kütüphaneyi nereden indirecem?

  45. # eburhan | 01 Eylül 2007, 15:18 Gravatar

    @doğan
    http://ajax-tr.com/wp-content/ekler/37/indir/ linkinden indirebilirsin.

  46. # hikmet | 10 Eylül 2007, 13:41 Gravatar

    eburhan makalelerini okudum. sorum şu ;ajax kodlarının olduğu html sayfasıyla verileri çektiğimiz asp yada php saysası farklı serverlardaysa , xmlhttp.open(’post’,url,true) yada xmlhttp.open(’get’,url,true) satırında erişim engellendi diye js hatası veriyor.yani url olarak http://www.xxx.com/xxx.asp gibi kullanamazmıyız.

  47. # selçuk | 12 Eylül 2007, 09:20 Gravatar

    Çok güzel bir örnek emeği geçen herkese tşkler.
    Benim takıldığım bir nokta var. Dosyaları silerken mysql den de silmek istiyorum bunun için bazı oynamalar yaptım kodlarda mesala dizin php de sil linkinde ‘[sil]’ user_id ekledimki user_id yi almak için ve dosyasil fonksiyonunuda

    function dosyaSil(silinecekDosya,userid) {
    if( confirm(’Dosya Silinsin mi?’) ) {
    var sc=”yap=sil&dosya=”+silinecekDosya+”&userid=” + userid;
    var sc=”yap=sil&dosya=”+userid;
    JXP(1, “dizin_alani”, “cevap.php”, sc);
    }
    }
    gibi bir değişiklik yaptım ama sil e tıklayınca çalışmıyor. Bu konuda yardımlarınızı bekliyorum.
    Tşkler

  48. # etranger | 13 Eylül 2007, 10:55 Gravatar

    içerikte biraz değişiklik yaptım dosyaları veritabanına yazdırmak için $_File[’dosya’][’name’] boş dönüyor. Bu konuda yardımcı olabilir misiniz ?

  49. # Harmankaya | 21 Ekim 2007, 19:50 Gravatar

    Güzel bir içerik olmuş eburhan arkadaşımızada kütüphanesinden dolayı teşekkürler ;)

  50. # goksel | 19 Kasım 2007, 09:29 Gravatar

    Arkadaşlar göndermeç tadında iframe ve ajax la çalışan güzel bir iş çıkardım. Görmek isterseniz www.caddy-tasarim.com/fileupload
    Kaynak dosyalar www.caddy-tasarim.com/fileupload/fileupload.rar

  51. # Nurullah Okatan | 09 Ocak 2008, 23:14 Gravatar

    Yakuter gerçekten başarılı bir çalışma olmuş, tebrik ediyorum seni. Şimdi yapacagım bir site için böyle orjinal birşeye ihtiyacım vardı, biraz daha güçlendirip sistemde kullanabilirim. Emeğine, beynine, parmaklarına sağlık. :)

  52. # onuR | 22 Ocak 2008, 18:14 Gravatar

    merhaba, ajax-gondermec’i sitemizde kullanmamıza izin var mı?
    teşekkürler.

  53. # Mustafa DEMIR | 29 Ocak 2008, 16:34 Gravatar

    sLm iLLa beni php öğrenmeye teşvik ediceksiniz :) arkadaşlar neyse şimdiye kadar indirdiğim kodları asp ye çevirdik sonuçta php mantığıda aynı.. ama php de öğrenicem :) olmuyor böle
    Makale çok güsel çalışmada öyle tebrikler..

  54. # kerem | 12 Mart 2008, 10:40 Gravatar

    tebrik ederim çok güzel bir çalışma olmuş.

  55. # Matasoy | 22 Mart 2008, 14:06 Gravatar

    Eline sağlık. Bir de bunun mysql le bağlantılı yapabildikmi tamamdır. yukarda birisi biraz uraşmış. ama bende şimdi uğraşacam. kullanıcı girişine adapte etmem lazım. Öğrencilerimden dosyaları bu aracılığı ile almayı düşünüyorum. Ama bazen dosyalar biraz büyük oluyor. 5mb 10mb 17mb gibi. Buyüzden rapidshare deki gibi bi bara ihtiyacım da olacak. Progress bar yani.

    Eğer bud ediklerimi yapabilen birisi varsa cevap verirse de çok mutlu olurum.

    Kolay gelsin iyi çalışmalar.

Yorum yazın

sayfa sayacı