PHP foreach Döngüsünde Son Değer Değilse Virgül Ekle
determine the last iteration in a php foreach loop?()
foreach ($array as $key => $value) {
echo $value;
if ($key !== array_key_last($array)) echo ", ";
}
foreach ($array as $key => $value) {
echo $value;
if ($key !== array_key_last($array)) echo ", ";
}
$trace = debug_backtrace();
$caller = array(
"file" => $trace[1]['file'],
"line" => $trace[1]['line'],
"function" => $trace[1]['function'],
"class" => $trace[1]['class'],
);
var_dump( $caller );
public function downloadAllFiles() {
$json = array();
$zip_files = array(
"file-1.jpg",
"file-2.jpg",
"file-3.jpg",
);
if ( count($zip_files) > 0 ) {
$zipname = "indir.zip";
$zip = new ZipArchive;
$zip->open($_SERVER['DOCUMENT_ROOT']."/store/image/download/".$zipname, ZipArchive::CREATE);
foreach ($zip_files as $file) {
$zip->addFile($_SERVER['DOCUMENT_ROOT']."/store/image/download/".$file, $file);
}
$zip->close();
//success and send zip file path
$json['success'] = 'https://example.com/store/image/download/'.$zipname;
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
else {
$json['error'] = "İndirilecek dosya bulunamadı! Lütfen kontrol ediniz.";
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
<!-- Add Download Button -->
<button id="btn-download-zip" data-loading-text="<?php echo $text_downloading; ?>" class="btn btn-info"><?php echo $text_download; ?> <i class="fa fa-download"></i></button>
<!-- Add Ajax Script -->
<script type="text/javascript">
$(document).delegate('#btn-download-zip', 'click', function() {
$.ajax({
url: 'index.php?route=sale/order/downloadallfiles',
type: 'post',
dataType: 'json',
beforeSend: function() {
$('#btn-download-zip').button('loading');
},
complete: function() {
$('#btn-download-zip').button('reset');
},
success: function(json) {
$('.alert').remove();
if (json['error']) {
$('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>');
}
else {
//download zip file
window.location.href = json['success'];
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
</script>
$imagick = new Imagick();
$imagick->setResolution(100,100);
$imagick->readimage("image.svg[0]"); //or "image.pdf[0]"
/* Apply Best Resolution */
$geo=$imagick->getImageGeometry();
$geo_height = intval($geo['height']);
$geo_width = intval($geo['width']);
if ($geo_width > 800 || $geo_height > 800) {
//do not do anything if one of them is larger than 800px
}
else {
if ($geo_width > $geo_height) {
$r = round(800 / $geo_width) * 150;
}
else {
$r = round(800 / $geo_height) * 150;
}
//readimage with new resolution
$imagick->setResolution($r,$r);
$imagick->readimage("image.svg[0]");
}
/* Apply Best Resolution End */
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
php_value session.save_path /home/xxx/session
php_value session.gc_maxlifetime 172800
<files wp-config.php>
order allow,deny
deny from all
</files>
term_id ) ) . '">' . esc_html( $categories[0]->name ) . '
';
}
?>
Kurduktan sonra Yoast > Search Appearance > Kategoriler > Category URLs seçeneğini Kaldır olarak belirleyin.
Bence en iyi backup alma eklentisi. Sitenizin komple yedeğini alabilir, bu arşivin içine girebilir. Ayrı ayrı veya komple geri yükleme yapabilirsiniz. İsterseniz yedekleri indirme imkanı da veriyor.
Kurduktan sonra Settings > Permalinks > Disabled Tag Base kutusunu işaretleyin.
Bu eklentinin diğerlerinden farkı white list ve black list yapabilmeniz. Yani sadece anasayfa linki için bakım moduna alıp, diğer linklerin açılmasına izin verebilirsiniz...
Yazı ve sayfaların alt kısmına Duplicate butonu eklenir.
Sayfaları ve yazıları cache'e alabilir veya kapatabilirsiniz. Ben daha çok bir eklentide değişiklik yapıp sitede hala eski halini görünce, cache'i boşaltmak için kullanıyorum.
Çok aradım ve şiddetle tavsiye ederim. Header alanında bir video oynatmak istiyordum ama mobilde bir türlü video görünmüyordu. Bu eklenti sorunu çözdü. Tabiki resim, youtube veya kendi videolarınızı da ekleyebilirsiniz. Seçenekleri gayet tatmin edici.
Site üzerinden mail göndermek istiyorsanız (Contact Form 7...vs)
öncelikle bu eklentiyi kurmalısınız ve gereken mail bilgilerini girmelisiniz.
En beğendiğim iletişim formu eklentisidir.
Bu eklenti sitenize abone ol formu eklemektedir. Listeyi yönetebilir, toplu mail atabilir, mail şablonları oluşturabilirsiniz. Çok kapsamlıdır.
Sade ve basit bir ziyaretçi sayacı eklentisidir. Günlük, aylık, sayfa başı...vs tıklama istatistiklerini verir. Başlangıç menüsü altında bulacağınız kendine özel Dashboard sayfası güzel tasarlanmıştır.
Sitenizin herhangi bir yerine sosyal medya hesapları ikonlarını ekler.
Dil menüsünü özelleştirebilirsiniz. Sayfaları düzenleme ekranında sağ tarafta görünür ve + butonuna tıklayarak o dil için sayfanıza çeviri ekleyebilirsiniz. İçeriği TR den kopyala diyerek aynı içeriği alıp ilgili yerleri çevirirsiniz.
Anasayfanıza ziyaretçi yorumlarını slider olarak eklemek için kullandım. Ayarları oldukça fazla. Örneğin slide geçişleri, butonlar, sayfalama, ...vsWordpress upload edilen medyaların adını değiştirme / Wordpress rename uploaded file
Normalde upload ettiğiniz dosyaların adını değiştiremezsiniz. Hatta bunu ftp'den yaparsanız wordpress bu dosyayı bulamaz ve hata oluşur. Bu eklentiyi kurduktan sonra ortam (media) menüsünden dosyanın edit sayfasını açın. Filename adlı kutudan yeni ismi verin ve güncelleyin. Hepsi bu kadar. Eğer dosyanın kalıcı bağlantısını (permalink) değiştirmek istiyorsanız; aynı edit sayfasında yazı kısa ismi (permalink) kutusuna yazmanız yeterli olacaktır (bu kutu görünmüyorsa Ekran Tercihleri'nden açınız).
Download Manager eklentisi ile neredeyse aynı fakat özellikle Türkçe desteği olmak üzere daha iyi olduğunu test ettim. Sitenizden indirilen dosyaları izlemek, özel indirme sayfası ve butonu koymak, indirme sayasını bilmek için kullanabilirsiniz
Kasım 2018 itibariyle galeri eklentileri içinden %80'ini test ettim. Sonuç olarak Photo Gallery yüzlerce resmi işleyebilmesi, etiketleyebilmesi, sıralayabilmesi, arama imkanı vermesi, filtreleme-search box butonlarını galeriye ekleme imkanı vermesi, sayfalama yada daha fazla yükle opsiyonlarının olması, title bilgilerini alabilmesi gibi aradığım özellikleri barındırdığı için tercih ettim. Bana göre eksi tarafı; wordpress'e eklenen fotoğraflar bile olsa bunları kendisinin tekrar ayrı bir klasöre import etmesi, bu disk kullanımını arttırmaktadır, fakat görselleri tehlikeye atmaması yönüyle bi yönüyle de iyi bir özellik. Eğer bu sizin için önemli ise Envira Gallery eklentisini alternatif olarak önerebilirim. Diğer eklentiler de bu saydığım özelikler bir yönüyle yok. Ben özellikle yüzlerce resmi barındırıp sağlıklı bir şekilde görüntüleyen bir eklenti bulma konusunda zorluk yaşadım. Photo Gallery bu yönüyle tercih edilebilir.
Ayarları esnek. Pinterest gibi (masonry) görünüm seçenekleri mevcut.
Oku ve yaz sayfaları ve kendi database'i var. TR için bazı düzenlemeleri var fakat %100 Türkçe yapmak için plugin kodlarında değişiklik yapmanız gerekecektir.
Fotoğrafları grid şeklinde gösterebilir ve üzerine metin ekleyebilirsiniz. Responsive ve şık bir görünüme sahip.
Üst tarafında tab menüsü olan bir albüm oluşturabilirsiniz. Bu tab'lara göre ilgili fotoğraflar filtrelenecektir. Fotoğrafları grid şeklinde gösterir.
Aşağı doğru veya yana doğru (vertical or horizantal) zaman çizelgesi oluşturmanızı sağlar. Metin yada resim ekleyebilirsiniz. TR için ay isimlerini kodlardan düzenlemeniz gerekecektir.
#maksimimum kayıt sayısını arttırma
php_value max_input_vars 10000
php_value suhosin.get.max_vars 10000
php_value suhosin.post.max_vars 10000
php_value suhosin.request.max_vars 10000
define('FS_METHOD', 'direct');
$user_name= htmlspecialchars($_GET['user_name']);Veya
$name= filter_input(INPUT_GET, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
$user_id =intval($_GET['user_id']);Veya
$user_id = filter_input(INPUT_GET, 'user_id', FILTER_SANITIZE_NUMBER_INT);Ben intval kullanıyorum. Farkı yok. Fakat filter_input en az PHP 5.2.0 gerektirir.
$url = urlencode($_POST['url']);
$url = filter_input(INPUT_POST, 'url', FILTER_SANITIZE_ENCODED);
// PDO
$safe = $db->escape_string($name); // OOP Style
// MySQLi
$safe = mysqli_real_escape_string($db, $name); // mysqli
// mysql_*
$safe = mysql_real_escape_string($name, $db);
// Genel Kullanım (Son Çare Olarak Kullanılabilir)
$safe = addslashes($name);