PHP - urun ekleme resim upload ta sorun

PHP - urun ekleme resim upload ta sorun

Reality__

Simdi basit bi urun girisi formu var.

<form action="ekle.php" method="POST" enctype="multipart/form-data">
Urun Adi: <input type="text" name="txt_urun_adi"><br>
Urun Fiyati: <input type="text" name="txt_urun_fiyat"><br>
Aciklama:<br>
<textarea style="width: 300" rows="3" name="txt_urun_acik"></textarea>
<br><input type="hidden" name="MAX_FILE_SIZE" value="250000"><br>
Resim Dosyasi: <input name="file" type="file" id="file">
<br><input type="submit" name="submit" value="Urun Ekle">
</form>

<?php
require("db_config.php");
dolarconnection = @mysql_connect(dolardb_host, dolardb_user, dolardb_password) or die("Database e ulasimda hata.");
echo "database e balglandi <br>";
mysql_select_db(dolardb_name, dolarconnection);
dolarfname = dolar_FILES[´file´][´name´];
copy(dolar_FILES[´file´][´tmp_name´], "/urun/".dolar_FILES[´file´][´name´]) or die ("Could not copy");
dolarvar = dolar_POST["txt_urun_adi"];
dolarvar2 = dolar_POST["txt_urun_fiyat"];
dolarvar3 = dolar_POST["txt_urun_acik"];
dolarlen = strlen(dolarvar);
dolarlen2 = strlen(dolarvar2);
dolarlen3 = strlen(dolarvar3);
if(len<0 || len2<0 || len3<0)
{
echo "Giris yapiniz";
exit();
}
dolarisim = dolar_POST["txt_urun_adi"];
dolarfiyat = dolar_POST["txt_urun_fiyat"];
dolaraciklama = dolar_POST["txt_urun_acik"];
dolarquery = "INSERT INTO urunler (urun_id, urun_adi, urun_fiyat, urun_acik, urun_resim) VALUES (NULL, ´dolarisim´, ´dolarfiyat´, ´dolaraciklama´, ´dolarfname´)";
mysql_query(dolarquery,dolarconnection) or die(mysql_error());
// }
?>

fakat dosya upload u yapmiyor bu soruna yardimci olabilecek bir arkadas varsa memnuniyet duyarim.

2007-10-23 17:13:40

Cvp

kalimba

copy(dolar_FILES[´file´][´tmp_name´], "/urun/".dolar_FILES[´file´][´name´]) or die ("Could not copy");

>>

copy(dolar_FILES[´file´][´tmp_name´], "urun/".dolar_FILES[´file´][´name´]) or die ("Could not copy");

Ben bu şekliyle denedim upload ediyor ve db ye yazıyor. Buradaki tırnakları değiştiriyor. Normal tırnak oalcak. Sadece klasörün başındaki / iaşeretini kaldırdım.

Birde bazı serverlar cdmode 755 de upload ediyor bazıları 777 istiyor.

Kolay gelsin.

2007-10-23 22:22:31

Cvp

Reality__

oldu sagolasin bi o sekilde deneme yapim , Bu arada resize thumb icin tavsiye edebilecegin bi script varmi.

2007-10-23 23:49:02

Cvp

kalimba

imagecopyresampled [url]http://tr2.php.net/manual/en/function.imagecopyresampled.php[/url] fonksiyonu çok başarılı.

[pre]
<?php

if(!dolar_POST[txt_urun_adi]=="" and !dolar_POST[txt_urun_fiyat]=="" and !dolar_POST[txt_urun_acik]==""){


dolaruploadfolder = "urun/";
dolarfilename = dolaruploadfolder.dolar_FILES[´file´][´name´];
dolarcopy = copy(dolar_FILES[´file´][´tmp_name´],dolarfile_name);

if(dolarcopy){
echo "Resim gönderildi";

dolarisim = htmlspecialchars(dolar_POST[txt_urun_adi], ENT_QUOTES);
dolarfiyat = htmlspecialchars(dolar_POST[txt_urun_fiyat], ENT_QUOTES);
dolaraciklama = htmlspecialchars(dolar_POST[txt_urun_acik], ENT_QUOTES);

dolarquery = "INSERT INTO urunler (urun_id, urun_adi, urun_fiyat, urun_acik, urun_resim) VALUES ("", ´dolarisim´, ´dolarfiyat´, ´dolaraciklama´, ´dolarfilename´)";
mysql_query(dolarquery);

}
else{
dolarhata = "Resim gönderimi hatali";
echo "<meta http-equiv="refresh" content="2;url=gonderi.php">";
}

}else{
dolarhata = "Alanlari bos birakmayiniz";
echo "<meta http-equiv="refresh" content="2;url=gonderi.php">";
}

if(dolarhata){echo "<script language="JavaScript">alert(´".dolarhata."´)</script>";}


?>

[/pre]

buna benzer birşekilde düzenlersen daha iyi olabilir. Girişlerin olup olmadığını bunun yerine javascriptle gönderi dosyasında kontrol edersen daha iyi olur bence. Resize işlemini de burada halledersin. Kopyaladığın dosyayı gösterip, işlem yapıtırıp yazdırırsın.

Kolay gelsin.

2007-10-24 00:33:41

Cvp

drekon

değişkenleri şu şekilde alırsanız daha güvenli olur.
birçok server standart olarak addslashes() fonksiyonu uyguluyor ama yinede işi garantiye almak lazım.


şu şekilde kullanın:
dolarvar = htmlspecialchars(dolar_POST["txt_urun_adi"]);

Thumbnail için şöyle birşey var:

[pre]
function tirnakJPG(dolardosyadizin, dolarad)
{
dolarfile= dolardosyadizin . ´/´. dolarad .".jpg";
dolarkayitdosya= dolardosyadizin . ´/´. dolarad ."_t.jpg";

dolarsize = getimagesize(dolarfile);
dolaruret = imagecreatefromjpeg(dolarfile);
dolarempt = imagecreatetruecolor(164,100); //thumbnail boyu
imagecopyresized(dolarempt, dolaruret, 0, 0, dolarbolum, 0, 164, 100, dolarsize[0], dolarsize[1]);
imagejpeg(dolarempt,dolarkayitdosya,70);
imagedestroy(dolarempt);
imagedestroy(dolaruret);
}
/pre]

2007-10-24 12:48:48