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,
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.
Çalışmanın demo uygulaması için tıklayın.
Dosyaları indirmek için: sifre.rar
Yorumlar
Bu yazı için hiç yorum yok. İlk yorumu yapmak ister misiniz?