Cevaplar
12:24:24 |
28 Aralık 2006 Perşembe
|
Oxygenc
(Üye)
Kayıt : 28 Arlk 06
Topl. mesaj: 7
|
Mesaj: Ynt. upload extensionu varmı ?
PHP Upload Aradığın extension budur.
Yapman gereken tek şey FTP de bir klasör oluşturup iznini 777 olarak belirledikten sonra eklentiyi çalıştırıp upload edilecek yer olarak bu klasörü belirteceksin, hangi uzantların upload edilebileceğini belirteceksin ve max. dosya boyutunu belirteceksin. Upload etmede sorun yaşarsan deneme olarak max. dosya boyutunu 0 yap (bu dosya boyutu sınırını kaldırır) ve öyle dene.
Şimdide ben bununla ilgili bilen arkadaşlara birşey sorayım
Upload edilen dosyanın yolunu veritabanında ilgili fielde nasıl yazdıracağı
|
|
|
|
23:59:07 |
28 Aralık 2006 Perşembe
|
uluer
(Üye)
Kayıt : 24 Arlk 06
Topl. mesaj: 35
|
Mesaj: Ynt. upload extensionu varmı ?
peki abicim ben asp öğreniyorum yani asp ile bunları yapmak istiyorum bu php upload benim alacağım hosting asp destekli olucak sorun yaşarmıyım
|
|
|
inandığın ölçüde sahip olursun
|
00:02:23 |
29 Aralık 2006 Cuma
|
Orhan
(Site sahibi)

Kayıt : 15 Tem 02
Topl. mesaj: 976
|
Mesaj: Ynt. upload extensionu varmı ?
merhaba arkadaşlar,
Arkadaşlar doğrudan foruma yazmak yerine sitede ufak bir arama ile ilgili içeriğe ulaşabileceğinizi belirtmek istiyorum. (@uluer bu sözüm sana)
@Oxygenç senin soruna gelince, şöyle açıklamaya çalışayım. Şahsen bu Upload eklentileri Insert Record server behavior'ı ile çalışıyormu bilmiyorum ama geçmişde böyle bir tecrübem olmuştu. PHP upload eklentisi ile kayıt girme işlemi sırasında resim upload ettirmeyi başarmıştım. Sende böyle yaparak aynı form ile hem dosya gönderme hemde kayıt girme işlemi yapabilirsin.
Buradaki sorun upload edilen dosyanın adını nasıl veritabanına gireceğim olarak karşımıza çıkıyor sanırım. Onu da şöyle açıklayalım. Şimdi formdaki dosya alanı (file field) adı "resim_dosya" olsun. PHP ile form gönderildiğinde bu alanın bilgisini $_FILES['resim_dosya'] ile alıyoruz. Bu değişken bir dizi değişkendir ve içerdiği bilgiler şu şekilde;
$_FILES['resim_dosya']['name'] // dosya adı: dosya.zip
$_FILES['resim_dosya']['tmp_name'] // dosyanın sunucudaki geçici dosya yolu: temp dizin adı yolu
$_FILES['resim_dosya']['size'] // byte olarak dosya boyutu
$_FILES['resim_dosya']['error'] // dosya upload işlemi ile ilgili varsa hata mesajı
$_FILES['resim_dosya']['type'] // dosyanın MIME type bilgisi: image/jpeg gibi
Sen burada $_FILES['resim_dosya']['name'] bilgisini kullanacaksın. Bu bilgiyi upload işlemi ile aynı anda yapılan veritabanına bilgi girme işleminde kullanarak veritabanına yazdırabilirsin. (bu dosya isminin önüne dosyanın gönderildiği klasör yolunu da yazdırarak dosyanın tam yolunu elde edebilirsin)
|
|
|
iyi çalışmalar
Türkiye\'nin en kapsamlı Dreamweaver kaynağı www.dw.gen.tr
|
11:57:12 |
30 Aralık 2006 Cumartesi
|
Oxygenc
(Üye)
Kayıt : 28 Arlk 06
Topl. mesaj: 7
|
Mesaj: Ynt. upload extensionu varmı ?
Panoya kopyala
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
$HTTP_POST_FILES = &$_FILES;
}
define("DESTINATION_FOLDER", "images");
define("no_error", "likyayillik.php");
define("yes_error", "basarisiz.php");
$_accepted_extensions_ = "jpg,jpeg,gif";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @ explode(",", $_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['textfieldnumara'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['textfieldnumara']['error'] == 0){
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
if(! in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Estensione non valida";
}
$errStr = "Cartella di destinazione non valida";
}
if(@ copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error );
} else {
header("Location: " . yes_error );
}
} else {
header("Location: " . yes_error );
}
}
?>
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",1500000);
define("DESTINATION_FOLDER", "images");
define("no_error", "likyayillik.php");
define("yes_error", "basarisiz.php");
$_accepted_extensions_ = "jpg,jpeg,gif";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['textfieldnumara'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['textfieldnumara']['error'] == 0){
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Estensione non valida";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Cartella di destinazione non valida";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
?>
Damnation Sitede bulunan PHPUpload extensionu ile sayfaya yazdırılan kodlar bunlar. Sayfadaki file field alanının adı file olarak girildi. Hazıra konmak gibi olmasın amaburadan bana yol gösterirmisin. Çünkü yaptığım herşey çalışıyor ancak bu dosyanın yolu veritabanına yazılmazsa işim çok uzayacak
|
|
|
|
01:22:10 |
31 Aralık 2006 Pazar
|
Orhan
(Site sahibi)

Kayıt : 15 Tem 02
Topl. mesaj: 976
|
Mesaj: Ynt. upload extensionu varmı ?
pekala şöyle diyelim
Şimdi bu eklentiyi sayfana uyguladın ve çalışıyor diyelim.
Aynı dosya gönderme formuna bir de Behaviors Panelden Insert Record olayı ekliyeceksin. Diyelim "dosya_tablosu" diye bir tablon ve bu tablodada "dosya_id", "dosya_kategori" ve "dosya_adi" isimli iki tane alan var ve sen upload edilen dosyanın adını "dosya_adi" alanına yazdırmak istiyorsun.
Bu eklentinin kodlarına bakarsan (anlattığım bilgilerin içinde geçen $_FILES['file']['name']) dosya adını ihtiva eden değişkenin "$_name_" isimli bir değişkene atandığını göreceksin. Yapman gereken tek şey Dreamweaver'ın yeni kayıt girmek için yazdığı kodlardaki ilgili bölüme $_name_ yazmak. Dreamweaver'ın bir kayıt işleminde gireceği kodlarda şöyle bir yer olmalı (Dreamweaver 8 için yazıyorum diğer versiyonlarda da böyle bişey olmalı işte)
Panoya kopyala if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "makale_ekle_form")) {
$insertSQL = sprintf("INSERT INTO dosya_tablosu (dosya_kategori, dosya_adi) VALUES (%s, %s)",
GetSQLValueString($_POST['kategori'], "int"),
GetSQLValueString($_POST['file'], "text"));
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "makale_ekle_form")) {
$insertSQL = sprintf("INSERT INTO dosya_tablosu (dosya_kategori, dosya_adi) VALUES (%s, %s)",
GetSQLValueString($_POST['kategori'], "int"),
GetSQLValueString($_POST['file'], "text"));
Burada $_POST['file'] yazan yere $_name_ yazarsan hiç bir sorun kalmayacaktır.
Burada dikkat etmen gereken şey; önce insert record olayını sonra dosya upload eklentisini sayfaya eklemen gerektiği. En sonda ilgili bölümde düzenlemeyi yaparak olayı sonlandırabilirsin.
|
|
|
iyi çalışmalar
Türkiye\'nin en kapsamlı Dreamweaver kaynağı www.dw.gen.tr
|
13:11:18 |
31 Aralık 2006 Pazar
|
Oxygenc
(Üye)
Kayıt : 28 Arlk 06
Topl. mesaj: 7
|
Mesaj: Ynt. upload extensionu varmı ?
Çok teşekkür ederim. Şu bayram telaşı bir geçsin hemen deneyeceğim
|
|
|
|
11:42:42 |
06 Ocak 2007 Cumartesi
|
besaer
(Üye)
Kayıt : 04 Oca 07
Topl. mesaj: 15
|
Mesaj: Ynt. upload extensionu varmı ?
Panoya kopyala Damnation Tavsiye etti Dostum bu akşam deneyeceğim..
|
|
|
|
08:16:43 |
08 Ocak 2007 Pazartesi
|
besaer
(Üye)
Kayıt : 04 Oca 07
Topl. mesaj: 15
|
Mesaj: Ynt. upload extensionu varmı ?
yok dostum olmuyo...
Başka bi yol olmalı.
Ayrıca resimleri klasör yerine database atmak istesek nasıl yapıcaz. Tablo türü ne olmalı..
|
|
|
|
00:50:58 |
09 Ocak 2007 Salı
|
Orhan
(Site sahibi)

Kayıt : 15 Tem 02
Topl. mesaj: 976
|
Mesaj: Ynt. upload extensionu varmı ?
ben kendi makinamda yaptığım ornekte oldu da sende niye olmuyor?
Resimleri veritabanında atmak olayını pek tavsiye etmiyorum. Veritabanını taşınması sırasında büyük zorluklar yaratabiliyor. Birde işin php tarafı var tabi. Gördüğüm kadarıyla php konusunda henüz başlangıç seviyesindesin. Veritabanında bilgi saklama işi biraz karışık bir olay bildiğim kadarıyla.
Şahsen bunca yıldır php ile uraşırım daha veritabanına dosya kaydetmişliğim yoktur :)
|
|
|
iyi çalışmalar
Türkiye\'nin en kapsamlı Dreamweaver kaynağı www.dw.gen.tr
|
08:49:53 |
09 Ocak 2007 Salı
|
besaer
(Üye)
Kayıt : 04 Oca 07
Topl. mesaj: 15
|
Mesaj: Ynt. upload extensionu varmı ?
veritabanına dosya atmayı istememin nedeni şu :
İlan scriptime attığım resim adedi 5 ve ilan silinirken resimleri nasıl sileceğimi bilmediğim için bu yola girmiştim. Yani kayıt silindiği zaman databaseden adını sildiğim zaman klasördeki ilgili dosyayı nasıl sileceğimi bilmediğim için bunu istemiştim. Ama anlaşılan bunuda öğrenmeliyim....:)
|
|
|
|