Yazılımı geliştirebilmek için devamlılık gerekli. Bir işi tekrar yaptığında aklında kalma süresi artacak. Bir de yaptığın iş ile ilgili merak önemli. Merak varsa, tekrar edersen öğrenirsin. Mobil uygulama yapmak istiyorsan veya site yapmak istiyorsan kendine bir uygulama yap, site yap.
Dizilerin kullanımını da kolaylaştırıyor aslında. Yani diziler için kullanılabilir. Yani dizi tanımlarken nesne ile kullanımı daha iyi olur anladığım kadarıyla. Peki başka nerelerde kullanılabilir pratikte?
Bu konuda bilgisi olan yok mu arkadaşlar?
Sorun yaratan resimler çoğunlukla şu şekilde oluyor. Resim adındaki boşluklar "+" işaretine dönüşüyor büyük ihtimal. "+" işaretini nasıl kaldırabilirim kodlardan veya nasıl dönüştürebilirim?
birinci resim (1).jpg
Kodları en son şu şekilde düzenledim ama sorunu halledemedim.
<?php
if(isset($_FILES['dosya'])) {
$boyut = $_FILES['dosya']['size'];
if($boyut > (1024*1024*3)) {
echo 'Dosya 3MB den büyük olamaz.';
} else {
$tip = $_FILES['dosya']['type'];
$isim = $_FILES['dosya']['name'];
$newfilename = round(microtime(true)) . $isim;
$search = array(" ","-","+");
$replace = array("_","_","_");
$isimdegistir = str_replace($search, $replace, $newfilename);
$uzanti = explode('.', $isimdegistir);
$uzanti = $uzanti[count($uzanti)-1];
if($tip != 'image/jpeg' && $tip != 'image/png' && $tip != 'image/jpg') { ?>
<div id="uyaripenceresi"></div>
<?php
header("refresh:0; url=anasayfaresimekle.php");
} else {
$dosya = $_FILES['dosya']['tmp_name'];
copy($dosya, '../../images/anasayfaresim/' . $isimdegistir);
$query = "INSERT INTO anasayfaresim (anasayfaresim_resim) VALUES('$isimdegistir')";
}
}
if (mysqli_query($db, $query) === TRUE) {
echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
Kayıt Başarıyla Gerçekleştirildi</div>';
header("Refresh:1; url=anasayfaresimekle.php");
} else {
echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
Kayıt Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';
header("refresh:5; url=anasayfaresimekle.php");
}
}
?>
İzlediğim bir vidyoda "+" işareti varsa eğer şifrede o "+" işareti boşluk yaratıyormuş ya da öyle bir şey. Dikkat ettim, "+" işareti olan hiç bir şifreli resim çalışmıyor. "preg_replace" ile veya "str_replace" ile düzeltmeye kalktığımda ise "+" işaretini operatör olarak algılıyor. Mesela
preg_replace("-");
dediğimde eksi işaretinin rengi sarı iken,
preg_replace("+");
dediğimde rengi kırmızı çıkıyor. Nasıl çözebiliriz?
Dediğiniz gibi yaptım. Veritabanı dosyasına şöyle yazdım:
mysqli_set_charset($db,"utf8");
Veritabanı tablomu da "utf8mb4_general_ci" yaptım. Yalnız şöyle bir hata alıyorum şua an.
unlink(./../../images/anasayfaresim/170698815640 ־�.CoF�~�): No such file or directory in
error.log'da ise hata şu şekilde
unlink(./../../images/anasayfaresim/170698815640\n\xd6\xbe\xef\xbf\xbd.CoF\xef\xbf\xbd~\xef\xbf\xbd): No such file or directory in
Resmin verdiği satırda da şu kodlar var.
unlink("./../../images/anasayfaresim/$resimsil");
Bazı resimlerde hata alıyorum. Ne siliyor ne de düzenleme yapabiliyorum.
Şu isimde bir resim hata çıkartmazken : "4381132274.jpg"
şu isimde bir resim çıkartıyor: "4807910204.jpg"
Tabi ki şifrelendikten sonra 21 haneli bir karaktere dönüşüyorlar her iki resim ismi.
Hatta ben size kodların hepsini koyayım. Ekleme işleminde de aynı kodlar var. Ne yapmam lazım.
<?php
if(isset($_FILES['dosya'])) {
$boyut = $_FILES['dosya']['size'];
if($boyut > (1024*1024*3)) {
echo 'Dosya 3MB den büyük olamaz.';
} else {
$tip = $_FILES['dosya']['type'];
$isim = $_FILES['dosya']['name'];
$newfilename = round(microtime(true)) . $isim;
$isimdegistir = str_replace("-","_","$newfilename");
$uzanti = explode('.', $isimdegistir);
$uzanti = $uzanti[count($uzanti)-1];
if($tip != 'image/jpeg' && $tip != 'image/png' && $tip != 'image/jpg') { ?>
<div id="uyaripenceresi"></div>
<?php
header("Location: anasayfaresimlistele.php");
} else {
$dosya = $_FILES['dosya']['tmp_name'];
copy($dosya, '../../images/anasayfaresim/' . $isimdegistir);
$anasayfaresimguncellesorgusu = "UPDATE anasayfaresim SET anasayfaresim_resim='$isimdegistir' WHERE anasayfaresim_id='$duzenlesonuc' and anasayfaresim_resim='$duzenlesilresimsonuc'";
$anasayfaresimguncellesorgu = mysqli_query($db, $anasayfaresimguncellesorgusu);
if ($anasayfaresimguncellesorgu) {
unlink("./../../images/anasayfaresim/$duzenlesilresimsonuc");
echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
Düzenleme Başarıyla Gerçekleştirildi</div>';
header("Refresh:2; url=anasayfaresimlistele.php");
} else {
echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
Düzenleme Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';
header("Refresh:4; url=anasayfaresimlistele.php");
}
}
}
}
?>
Merhaba. Aşağıdaki şekilde veritabanına "birinciresim.jpg" olarak yazdırabiliyorum ama klasöre giden resmin adı değişmiyor. Eğer değiştirilebilirse, resmi düzenle dediğimde o resim yerine başka bir resim koyarken şu hatayı vermez diye düşünüyorum. Bir de resmi yüklerken aşağıdaki şekilde kopyalama yaparak gönderiyorum. Bu yüzden problem çıkarıor olabilir mi? Bunu nasıl düzeltebiliriz?
$isim = $_FILES['dosya']['name'];
$isimdegistir = str_replace("-","","$isim");
unlink(./../resimler/resim/resimbirinciresim.jpg): No such file or directory in
copy($dosya, '../../resimler/resim/' . $newfilename);
Şu şekilde çözdüm. Veritabanında veriyi saydırdım. Eğer veri sıfıra eşitse aqşağıdaki gibi yaptım yok eşit değilse veriyi listelettim. Bu şekilde hata vermiyor. Teşekkür ederim.
echo "https://www.facebook.com";
Menü eklerken sayfa oluşturmaktan vazgeçtim. Sorunu hallettim yani.
Merhaba arkadaşlar. Şu kodu internetten buldum, çalıştı. Yalnız bana şunların ne olduğunu anlatabilirseniz sevinirim.
$id = $listele["id"];
$ciphering = "AES-128-CTR";
$iv_length = openssl_cipher_iv_length($ciphering);
$options = 0;
$encryption_iv = '8569748526325697';
$encryption_key = "sifre alani";
echo $encryption = openssl_encrypt($id, $ciphering, $encryption_key, $options, $encryption_iv);
Mesela, openssl_cipher_iv_length : Şifre başlatma vektörü uzunluğunu alır, diyor internette. Şifre başlatma vektörü nedir?
Mesela, option ne işe yarıyor burada?
Yani çalışma mantığını anlamak için soruyorum ve ne olduklarını.
Aşağıdakileri anladım.
AES-128-CTR : Şifreleme metodu.
sifre alani : Şifrelediğimiz veriyi açmamızı sağlayan anahtar.