Re: [Linux-programlama]

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Ekin Meroglu (ekin@fisek.com.tr)
Date: Fri 27 May 2005 - 15:52:58 EEST


Merhaba;

> >
> > $handle = fopen($_FILES['dosya']['tmp_name'], "rb");
> > $contents = fread($handle, filesize($_FILES['dosya']['tmp_name']));
> > $data = addslashes($contents);
>
> Sorun burada sanirim, fread'le okudugunuz binary dosyaya addslashes() uygulamaniz bozuyor isi.. Boyle birseye ihtiyacınız yok, veritabindaki tipiniz buna uygun oldugu surece. Addslashes() string verilerin text alanlara kaydedilmesinde yararli/gerekli.

Burada ben uyumusum, addslashes yerine mysql_real_escape_string tavsiye etmem gerekiyormus, pardon.. Google sagolsun.
  
> > $sorgu_kelimesi="insert into dosya_1(dosya_adi,dosya_data,dosya_type)
> > values('$_FILES[dosya][name]','$data','$_FILES[dosya][type]')";
> > $sonuc = mysql_query($sorgu_kelimesi, $baglanti);
>
> Neden bircok kez tavsiye edildigi gibi dosyalari ait olduklari yerde - dosya sisteminde - tutmuyorsunuz? Sizi bircok isten kurtaracak, basarimi da arttiracak bence.. Veritabaninda dosya_adi, tipi, boyutlari gibi bilgileri girin, dosyalar dosya sisteminizde mutlu mesut yasasinlar..

Bu konuda yazdiklarinizi okuduktan sonra;

1- Yukardaki bolum calistiginda veritabanina basarili bir insert yapildigini gorebiliyor musunuz ? PhpMyAdmin ne diyor? $sonuc ne donduruyor ?

$sonuc = mysql_query($sorgu_kelimesi, $baglanti)
        or die(mysql_error());

ile deneyebilirsiniz..

2 - Veritabanindaki alaninizin tipi BLOB ve uzunlugu dosyanizi kaydetmeye yeterli mi?
http://dev.mysql.com/doc/mysql/en/storage-requirements.html

Eger yeterli gelmiyorsa dosyanin sonu kesiliyor olabilir, longblob vs kullanamayi deneyebilirsiniz.

3 - Dosyayi okudugunuz kodu da buraya gonderebilir misiniz? belki de sorun okumada.. Bir onceki mailde soglediginizde haklisiniz, addslashes varsa stripslashes da olmali mantiken ...

Ekin Meroğlu
ekin@fisek.com.tr

--
FISEK ENSTITUSU - http://www.fisek.com.tr
Ankara : 0.312.3857026  /  Istanbul : 0.216.4284693
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.