lostyazilim
tr.link

PHP Fotoğraf Yüklemede veritabanına uzantı eklenmiyor

10 Mesajlar 1.232 Okunma
lstbozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Merhaba
Sitemin logosunu değiştirmek için bir resim yükleme kodu buldum ve uğraşarak çalışır hale getirdim. Fakat içinden çıkamadığım bir kaç sorunum mevcut. İlk olarak veritabanına kayıt edilen resmin adı ve uzantısı olması gerekirken. Resmin sadece adı ekleniyor. Uzantısını veritabanına kayıt ettiremedim. İkinci sorun ise yüklenen dosyanın belirttiğim dizine yüklenmemesi (bu sorun localhost ile çalıştığımdan olabilir mi?)

Yükleme yaptığım form







Maksimum 900px X 250px












Post edildikten sonra kayıt eden eski veriyi silen kodlar

if ($_POST) {

$imgUpload = "../images/";
$imgDirectory = $_FILES["sresim"]["tmp_name"];
$imgFileName = $_FILES["sresim"]["name"];
$imgType = $_FILES["sresim"]["type"];
// $fresim = $_POST['sresim'];

$imgExtension = @substr($imgFileName, -4);
$imgSubsNewName = @substr(@md5(@uniqid(@rand())),0,30);
$imgNewName = $imgSubsNewName.$imgExtension;
$imgSil = mysql_fetch_assoc(mysql_query("SELECT ayarlogo FROM ayarlar WHERE ayarid='1'"));
$imgSill = $imgSil['ayarlogo'];
$imgSilinecek = @unlink($imgUpload.$imgSill);
$fileUpload = @move_uploaded_file($imgDirectory,$imgUpload.$imgNewName);
$logoInsert =mysql_query("update ayarlar set ayarlogo='$imgNewName' where ayarid='1'") or die("Hata: kayıt işlemi gerçekleşemedi.");

if($logoInsert){
echo '



Logo değiştirildi.
';
echo '';

}else{
echo '



Logo değiştirilmedi. Lütfen hataya göz atın.
';
echo '
';
echo mysql_error();
}
}
?>
 

 

wmaraci
reklam

monelogg monelogg <> Kullanıcı
  • Üyelik 06.03.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek Öğrenci
  • Konum Diğer
  • Ad Soyad M** B**
  • Mesajlar 658
  • Beğeniler 78 / 125
  • Ticaret 0, (%0)
Merhabalar, PHP'yi iyi bilmediğimden yanlış söylüyor olabilirim. Bununla birlikte şu kod uzantısız eklenmesine sebep oluyor olabilir.


$imgExtension = @substr($imgFileName, -4);

//Bu kod parçası örneğin "resim_adi.jpeg" string ifadesini (yani dosya adı) "resim_adi" olarak değişkene aktarır.


Yine emin değilim, dosya yüklenme problemi için ise önerim şu:

$imgUpload = "../images/"
//Yukarıdaki kod yerine

$imgUpload = $_SERVER['DOCUMENT_ROOT'] . $varsa_alt_klasorlerin_adi


 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&amp;Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Aslın bakarsan şöyle bir saçmalık da mevcut. Aynı kodlar başka yaptığım bir sistem üzerinden çalışıyor. Çok garip ama burada çalıştıramadım.
 

 

ikyazilim ikyazilim Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 29.09.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek yazılım geliştirme
  • Konum İzmir
  • Ad Soyad M** O**
  • Mesajlar 66
  • Beğeniler 15 / 15
  • Ticaret 3, (%67)
Exor belki konu ile alakalı olabilir, veritabanında resim yolunun yazılığı sutunun karakter genişliğini knt ettiniz mi? belki yetersiz kalıyor olabilir.
 

 

wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&amp;Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
ikyazilim bu da değil çünkü varchar 255 olarak yaptım. Görselin adı da (f00ea6e2564ecf6af198a810f1dfd9) bu sıkıntım sonuna uzantı eklememesi.
 

 

ikyazilim ikyazilim Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 29.09.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek yazılım geliştirme
  • Konum İzmir
  • Ad Soyad M** O**
  • Mesajlar 66
  • Beğeniler 15 / 15
  • Ticaret 3, (%67)
Exor hocam siz komple ismi mi md5liyorsunuz $fileUpload = @move_uploaded_file($imgDirectory,$imgUpload.$imgNewName.$imgfilename) şeklinde denermisiniz?
 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&amp;Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
ismi komple md5liyorum sonra uzantıyı alıp nokta ile başka bir değişkende birleştiriyorum
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
sorun çözülmüştü arkadaş güncellememiş hata yok yazdığı herşey doğru sadece dosya yüklenip yüklenmediği kontrol edilmemiş
dosya yükleme kodundan sonra(move_uploaded_file(tmpdizin,kayityolu,adi);)
if($_FILES["resim"]["size"]>0)
{
//veritabanına kaydetme olayını burda yap
echo "Yüklendi";
}
else
{
echo "Yüklenmedi";
}

Başka biri aynı sorunu yaşarsa çözüm olsun diye yazdım başka bir amacım yoktur
 

 

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&amp;Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
@ismail03 Teşekkür ederim ben yazacaktım unutmuşum iyi oldu yazdığın.
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Exor ben çok aradım o yüzden yazdım ha ben yazmışım ha siz yazmışsınız farketmez diye düşünüyorum hocam :)
Exor

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)