lostyazilim

resim upload ederken türkçe karakter temzileme

5 Mesajlar 1.112 Okunma
lstbozum
wmaraci reklam

microglia microglia WM Aracı Kullanıcı
  • Üyelik 19.09.2017
  • Yaş/Cinsiyet 7 / E
  • Meslek memur
  • Konum Samsun
  • Ad Soyad I** K**
  • Mesajlar 42
  • Beğeniler 17 / 4
  • Ticaret 0, (%0)
arkadaşlar fonksiyon dosyamda bir türkçe karakter temzileme fonksiyonu var ama bunu kodlarımda nereye koyduysam olmadı yardımcı olurmusunuz


fonksiyon dosyamdaki temzileme fonksiyonu

function trtemizle($tr1) {
$turkce=array("ş","Ş","ı","ü","Ü","ö","Ö","ç","Ç","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü"," ");
$duzgun=array("s","S","i","u","U","o","O","c","C","s","S","i","g","G","I","o","O","C","c","u","U","_");
$tr1=str_replace($turkce,$duzgun,$tr1);
$tr1 = preg_replace("@[^a-z0-9\-_şıüğçİŞĞÜÇ]+@i"," ",$tr1);
return $tr1;
}



upload kodlarım

if (isset($_POST['haberekle'])) {

$haber_seourl=seo($_POST['haber_baslik']);

$uploads_dir='../../dimg/haber';
@$tmp_name = $_FILES['haber_resimyol']["tmp_name"];
@$name = $_FILES['haber_resimyol']["name"];

$benzersizsayi1=rand(20000,32000);
$benzersizsayi2=rand(20000,32000);
$benzersizsayi3=rand(20000,32000);
$benzersizsayi4=rand(20000,32000);

$benzersizad=$benzersizsayi1.$benzersizsayi2.$benzersizsayi3.$benzersizsayi4;
$resimgyol=substr($uploads_dir, 6)."/".$benzersizad.$name;
@move_uploaded_file($tmp_name, "$uploads_dir/$benzersizad$name");



$resimyukle=$db->prepare("INSERT INTO haber SET
kategori_id=:kategori_id,
il_id=:il_id,
haber_baslik=:haber_baslik,
haber_ozet=:haber_ozet,
haber_detay=:haber_detay,
haber_video=:haber_video,
haber_keyword=:haber_keyword,
haber_durum=:haber_durum,
haber_seourl=:seourl,
haber_resimyol=:resimyol
");
$insert=$resimyukle->execute(array(
'kategori_id' => $_POST['kategori_id'],
'il_id' => $_POST['il_id'],
'haber_baslik' => $_POST['haber_baslik'],
'haber_ozet' => $_POST['haber_ozet'],
'haber_detay' => $_POST['haber_detay'],
'haber_video' => $_POST['haber_video'],
'haber_keyword' => $_POST['haber_keyword'],
'haber_durum' => $_POST['haber_durum'],
'seourl' => $haber_seourl,
'resimyol' => $resimgyol

));

if ($insert) {

Header("Location:../production/haber.php?durum=ok");

} else {

Header("Location:../production/haber.php?durum=no");
}

}


şimdi ben trtemizle() 'yi bu kodlarımda nereye eklemem gerekiyor? bayağı deneme yapım olmadı adında boşluk olan resim ekledim olmadı türkçe karakter olan resim ekledim olmadı türkçe karakter ve boşluk olan yerlerde hep % işareti geldi.
 

 

wmaraci
reklam

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Burası
@$name = $_FILES['haber_resimyol']["name"];

Böyle değişecek
@$name = trtemizle($_FILES['haber_resimyol']["name"]);
microglia

kişi bu mesajı beğendi.

microglia microglia WM Aracı Kullanıcı
  • Üyelik 19.09.2017
  • Yaş/Cinsiyet 7 / E
  • Meslek memur
  • Konum Samsun
  • Ad Soyad I** K**
  • Mesajlar 42
  • Beğeniler 17 / 4
  • Ticaret 0, (%0)
usta düzeldi zannettim ama bu sefer resim uzantısıdaki noktayı da siliyor (.jpg)
 

 

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
microglia

O zaman şöyle değiştir name kısmını (ek kodlar ile birlikte) ;

@$dosya_info = pathinfo($_FILES['haber_resimyol']["name"]);
@$uzanti = @$dosya_info["extension"];
@$temiz_isim = trtemizle($_FILES['haber_resimyol']["name"]);
@$name = @$temiz_isim.".".$uzanti; // burada hem yeni isimi ve sonuna . ekleyerek dosya türünü belirttik
 

 

wmaraci
wmaraci

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
microglia

Bahsettiğim örneğe buradan ulaşabilirsin :)
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al