PHP ile şifre üretip Excel dosyasına aktarma örneği

makale.baslik

PHP ile istenilen karakter sayısında ve istenilen adette şifre üretip, Excel dosyasına aktarma uygulamasını paylaşacağım.
Burada şifre üretme ve excel dosyasına aktarma kodlarını kendi başına başka uygulamalarda da kullanabilirsiniz. Geliştirilip farklı amaçlar içinde kullanabilirsiniz. 

Uygulamamızda PHP de form işlemleri, fonksiyonlar konusu ilde örnek yapmış olacağız.

 

Öncelikle gerekli değerleri almak için form elemanlarının bulunduğu sifre.php sayfasını oluşturalım,
 

PHP ile şifre üretip Excel dosyasına aktarma formu

sifre.php

<!doctype html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Şifre</title>
</head>
<body>
<form action="ExcelOlustur.php" method="post">
    <table>
        <tr>
            <td>Kaç Adet Şifre Üretilecek</td>
            <td><input type="text" name="sayi" placeholder="Üretilecek şifre adeti"></td>
        </tr>
        <tr>
            <td>Şifre Karakter Uzunluğu</td>
            <td><input type="text" name="uzunluk" placeholder="Şifre Karakter Uzunluğu"></td>
        </tr>
        <tr>
            <td>Dosya Adı</td>
            <td><input type="text" name="dosyaAdi" placeholder="Dosya adı"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Oluştur"></td>
        </tr>
    </table>
</form>
</body>
</html>

Excel dosyasına aktaracağınız içeriği, ayrı bir php sayfasına post etmeniz gerekiyor. Eğer ayrı sayfaya post etmezseniz excel dosyasında form elemanlarınızın olduğunu göreceksiniz. İstenilen bir durum değil.

Şimdi gelen değerleri alıp Excel dosyasını oluşturacak kodları oluşturalım.

ExcelOlustur.php

<?php
function excelOlustur($dosyaAdi = 'DosyaAdi', $veri = array()) //excel oluşturan fonksiyonumuz
{
    header('Content-Encoding: UTF-8'); //Türkçe kararkter sorunu yaşamamak için gerekli
    header('Content-Type: text/plain; charset=utf-8');//Türkçe kararkter sorunu yaşamamak için gerekli
    header("Content-disposition: attachment; filename=" . $dosyaAdi . ".xls");
        //tabloyu excel dosyasına aktaran kod
    echo "\xEF\xBB\xBF"; //Türkçe kararkter sorunu yaşamamak için gerekli

    echo '<table border="1">';
    echo '<tr>';
    echo '<td style="background-color:#FFA500">Sıra</td>';  //başlık
    echo '<td style="background-color:#FFA500">Şifre</td>'; //başlık
    echo '</tr>';

    $sira = 1;
    foreach ($veri as $deger) { //döngü ile tablomuzu oluşturuyoruz
        echo '<tr>';
        echo '<td>' . $sira++ . '</td>';
        echo '<td>' . $deger . '</td>';
        echo '</tr>';
    }
}

function SifreOlustur($uzunluk) //şifremizi verilen karakter uzunluğuna göre oluşturuyoruz.
{
    $karakterler = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@?!+_';
    //karakterleri isteğe göre değiştirebilirsiniz.
    $karakterlerUzunluk = strlen($karakterler);
    $sifre = '';
    for ($i = 0; $i < $uzunluk; $i++) {
        $sifre .= $karakterler[rand(0, $karakterlerUzunluk - 1)];
    }
    return $sifre;
}

if ($_POST) { //post varsa gerekli değerleri alıp, fonksiyonları kullanarak şifremizi oluşturuyoruz
    $veri = array();
    $dosyaAdi = $_POST["dosyaAdi"];
    $sayi = 200;
    if (isset($_POST["sayi"]))
        $sayi = $_POST["sayi"];
    $uzunluk = 8;
    if (isset($_POST["uzunluk"]))
        $uzunluk = $_POST["uzunluk"];

    for ($i = 0; $i < $sayi; $i++) {
        $veri[] = SifreOlustur($uzunluk);
    }
    excelOlustur($dosyaAdi, $veri);
}

 

Örneğimizin excel dosyayı şu şekilde olacaktır.

Excel çıktısı

 

Çalışmanın demo uygulaması için tıklayın.

Dosyaları indirmek için: sifre.rar

Paylaş:

Yorumlar

    Bu yazı için hiç yorum yok. İlk yorumu yapmak ister misiniz?