PHP ile bir klasördeki .jpg dosyalarını .txt yazdırma

PHP ile bir klasördeki .jpg dosyalarını .txt yazdırma

 

<?php

// imageLarge klasörünün yolu
$klasor_yolu = 'imageLarge';

// Klasördeki tüm dosyaları alır
$dosyalar = scandir($klasor_yolu);

// .jpg uzantılı dosyaları filtreler
$jpg_dosyalari = array_filter($dosyalar, function($dosya) {
    return pathinfo($dosya, PATHINFO_EXTENSION) === 'jpg';
});

// Dosya adlarını bir txt dosyasına yazma
$dosya_adi = 'dosya_listesi.txt';
$dosya = fopen($dosya_adi, 'w');
foreach ($jpg_dosyalari as $dosya_adi) {
    fwrite($dosya, $dosya_adi . PHP_EOL);
}
fclose($dosya);

echo "Dosya adları $dosya_adi adlı dosyaya başarıyla yazıldı.";
?>

 

Smartmontools Disk sağlıgı

sudo yum update
sudo yum install smartmontools

Yükleme işlemi tamamlandıktan sonra, smartctl komutunu kullanarak disklerin SMART özelliklerini kontrol edebilirsiniz:

smartctl -a /dev/sdX

Burada “/dev/sdX” yerine kontrol etmek istediğiniz disk sürücüsünün adını belirtmelisiniz.

smartmontools yüklendikten sonra, smartctl komutunu başarıyla kullanabilir ve disk sağlık durumu hakkında bilgi alabilirsiniz.

Chrome console kullanarak 2 şer click yapma

Console kullanarak 2,4,6,8 alanlarındaki click alanlarına tıklama.

// Checkbox'ları seçmek için kullanılacak olan selector
var selector = "#manage_video > tbody > tr:nth-child({index}) > td:nth-child(1) > input[type=checkbox]";

// 2, 4, 6, ... sıralamasındaki checkbox'lar için döngü
for (var i = 2; i <= 100; i += 2) {
    // Her bir checkbox'ı seçmek için kullanılan tam selector
    var fullSelector = selector.replace("{index}", i);

    // Checkbox'ı seç
    var checkbox = document.querySelector(fullSelector);

    // Checkbox'ı hemen seç
    checkbox.click();
}

 

Chrome Console kullanarak toplu veri çekme

Bir arkadaşım hellabyte . one sitesindeki tüm gönderdiği linkleri toplam istemiş fakat koruma oldugu için toplayamamış bende ona google chrome içindeki konsol kullanarak tüm linkleri toplayacak bir kod paylaştım sizde yararlana bilirsiniz.

 

// Tüm sayfaları dolaşacak fonksiyon
async function scrapeAllPages(startPage, endPage) {
    // Toplam verileri depolamak için boş bir dizi oluştur
    var allData = [];

    // Belirli sayfa numaraları arasında döngü
    for (var page = startPage; page <= endPage; page++) {
        // Sayfanın URL'sini oluştur
        var url = 'https://hellabyte.one/file?page=' + page;

        // Sayfayı aç ve beklet
        try {
            const response = await fetch(url);
            const html = await response.text();

            // HTML içindeki verileri çek
            var parser = new DOMParser();
            var doc = parser.parseFromString(html, 'text/html');
            var elements = doc.querySelectorAll('.item-title');

            // Her bir öğe için ID ve içeriği al
            var pageData = Array.from(elements).map(function(element) {
                var onclickAttribute = element.getAttribute('onclick');
                var id = onclickAttribute.match(/'(.*?)'/)[1];
                var content = element.innerText.trim();
                return { id: id, content: content };
            });

            // Toplanan verileri genel listeye ekle
            allData = allData.concat(pageData);

            // Kısa bir bekleme süresi ekleyebilirsiniz (istediğiniz sıklıkta)
            await new Promise(resolve => setTimeout(resolve, 1000));
        } catch (error) {
            console.error('Hata:', error);
        }
    }

    // Toplanan tüm verileri göster
    console.log(allData);
}

// Belirli bir sayfa aralığını dolaşmak için fonksiyonu çağır
scrapeAllPages(1, 92);

Burada toplam 92 sayfayı gezip tüm linkleri verir.

Okumaya devam et Chrome Console kullanarak toplu veri çekme

PHP – İşe yarar az kullanılan php functionları

  1. Fonksiyonlar ile Değişken Sayıda Parametre Kullanma:

Bir fonksiyona değişken sayıda parametre geçirmek için func_get_args() veya (splat operatörü) kullanılabilir.

function toplam(...$sayilar) {
    return array_sum($sayilar);
}

echo toplam(1, 2, 3, 4); // Çıktı: 10

 

  1. Null Coalescing Operatörü:

Null coalescing operatörü (??) null olmayan ilk değeri döndürür.

$ad = $_GET['ad'] ?? 'Misafir';

 

  1. Ternary Operatör (Üçlü Operatör):

Ternary operatör, kısa if-else ifadeleri oluşturmak için kullanılır.

$sonuc = ($sayi > 0) ? "Pozitif" : "Negatif";

 

  1. Foreach ile Anahtar ve Değerleri Kullanma:

Foreach döngüsünde anahtarları ve değerleri aynı anda kullanabilirsiniz.

$bilgiler = array("isim" => "Ahmet", "yas" => 30);

foreach ($bilgiler as $anahtar => $deger) {
    echo $anahtar . ": " . $deger . "<br>";
}

 

  1. Fonksiyonları Değişkenler Olarak Kullanma:

Fonksiyonları değişken olarak kullanabilirsiniz.

$funcName = function($a, $b) {
    return $a + $b;
};

echo $funcName(2, 3); // Çıktı: 5

 

  1. Yararlı İç Dahil Etme Fonksiyonları:

include_once(), require_once(), file_get_contents(), ve file_put_contents() gibi fonksiyonlar dosya işlemlerini ve içeriği yönetmek için kullanışlıdır.

$content = file_get_contents("dosya.txt");
file_put_contents("yeni_dosya.txt", $content);

 

Bu tür kod parçaları, PHP’nin güçlü ve esnek yapısını daha etkili bir şekilde kullanmanıza yardımcı olabilir.

 

PHP ile 1 den 10 kadar sayıların toplamı en az kodla

<?php
$toplam = 0;

for ($sayi = 1; $sayi <= 10; $sayi++) {
    $toplam += $sayi;
}

echo "1'den 10'a kadar olan sayıların toplamı: " . $toplam;
?>

En kısa kod:

<?php
$toplam = array_sum(range(1, 10));
echo "1'den 10'a kadar olan sayıların toplamı: " . $toplam;
?>

Bu kod, range() işlevini kullanarak 1 ile 10 arasındaki sayıları oluşturur ve array_sum() işlevini kullanarak bu sayıların toplamını hesaplar. Sonuç aynıdır: 1‘den 10’a kadar olan sayıların toplamı: 55

[ERROR] InnoDB: The Auto-extending innodb_system data file

[ERROR] InnoDB: The Auto-extending innodb_system data file Bu hata mesajı, MySQL veritabanınızın InnoDB depolama motoru için sistem veri dosyasının otomatik genişlemesiyle ilgili bir sorun olduğunu gösteriyor. Bu hatayı çözmek için aşağıdaki adımları izleyebilirsiniz:

MySQL Sunucusunu Durdurun:

sudo systemctl stop mysql

MySQL Konfigürasyon Dosyasını Düzenleyin: MySQL’in yapılandırma dosyası genellikle /etc/mysql/mysql.conf.d/mysqld.cnf veya /etc/mysql/my.cnf gibi bir yerde bulunur. Bu dosyayı bir metin düzenleyici ile açın. Örneğin, nano kullanabilirsiniz:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

innodb_data_file_path Ayarını Düzenleyin: Dosya içinde innodb_data_file_path satırını bulun. Bu satır, InnoDB veri dosyalarının boyutunu ve otomatik genişleme davranışını belirtir. Bu satırı aşağıdaki gibi düzenleyin:

innodb_data_file_path = ibdata1:10M:autoextend

Bu ayar, InnoDB veri dosyasının boyutunun 10 MB’den başlayarak otomatik olarak genişlemesini sağlar. İstediğiniz boyutu belirleyebilirsiniz.

MySQL Sunucusunu Başlatın:

sudo systemctl start mysql

Hata Kontrolü: MySQL sunucunu başlattıktan sonra hata mesajının hala görünüp görünmediğini kontrol edin. Eğer hata devam ederse, MySQL hata günlüklerini inceleyin (/var/log/mysql/error.log) ve daha fazla ayrıntı almak için gerektiğinde sorununuzun kaynağını belirlemek için bu günlükleri kullanın.

Not: MySQL yapılandırma dosyasının konumu sistem yapılandırmasına ve MySQL sürümüne bağlı olarak değişebilir. Yukarıdaki adımlar genel bir yaklaşım sunar, ancak dosya konumu ve adı farklılık gösterebilir. MySQL yapılandırma dosyasının tam yolu ve adı hakkında bilgi edinmek için mysql --help | grep my.cnf komutunu kullanabilirsiniz.