Php Yardım Lütfen
-
<?php define('ENCRYPTION1','123456erferferfgrhr'); define('ENCRYPTION2', '789764eferferfthth'); $handler = @fopen("test.pdf", "rb"); $content = stream_get_contents($handler); $iv = ENCRYPTION1; $key = ENCRYPTION2; $td = mcrypt_module_open('rijndael-128', ' ', 'abc', $iv); mcrypt_generic_init($td, $key, $iv); $content = mdecrypt_generic($td, $content); mcrypt_generic_deinit($td); mcrypt_module_close($td); $dfile = fopen("test-decrypt.pdf", "w"); fwrite($dfile, $content); fclose($dfile); ?>
arkadaşlar yukarıdaki kod klasörde bulunan encode edilmiş test.pdf yi decode edip açılır hale getirip test-decrypt.pdf şeklinde aynı klasöre kayıt ediyor.Sıkıntı şu ki klasörde 1000 kadar pdf var,tek tek yazacağıma klasördekilere komple aynı işlemi yapmak için kod da nasıl bir değişiklik yapabilirim.(1000 pdf ismi txt içinde satır satır yazılı belki bu bilgide işe yarar)
not:
sancaks tarafından 15/Tem/16 09:11 tarihinde düzenlenmiştir<aclass="tbttag"title="php"href="/tag/php">php</a> şu kısım kodda yok aslında ama çıkıyor bilmiyorum neden -
foreach(glob('*.pdf') as $dosya){
echo $dosya;
}
bu kod klasordeki pdf uzantili butun dosya adlarini yazar, foreach in icine kendi kodunu yaz, tek tek hepsini cozer. yapamazsan sabah yaparim uyumak uzreyim simdi
-
yapamadım hocam
-
verdigin kod hatali hocam, ilk bastaki html kodunu echo ile bastir.
define fonksiyonlarindan birinin global name i ENCRYPTION2 olacak.
belki baska hatalarda vardir, calistirmadim. sen calistirdin mi bu kodu?
edit: notunu geç gördüm.
moi tarafından 15/Tem/16 07:35 tarihinde düzenlenmiştir -
moi bunu yazdı
verdigin kod hatali hocam, ilk bastaki html kodunu echo ile bastir.
define fonksiyonlarindan birinin global name i ENCRYPTION2 olacak.
belki baska hatalarda vardir, calistirmadim. sen calistirdin mi bu kodu?
edit: notunu geç gördüm.
pardon düzelttim..kod çalışıyor yani pdf yi kilitsiz açıyor.amacım bütün klasöre uygulamak
-
<?php $file = file("isimler.txt");//isimlerin olduğu txt $say= count("$file"); for ($i=0; $i<$say; $i++) { define('ENCRYPTION1','123456erferferfgrhr'); define('ENCRYPTION2', '789764eferferfthth'); $encoded = $file[$i];//txt den okuduğun her satırdaki pdf ismi $handler = @fopen("$encoded", "rb"); $content = stream_get_contents($handler); $iv = ENCRYPTION1; $key = ENCRYPTION2; $td = mcrypt_module_open('rijndael-128', ' ', 'abc', $iv); mcrypt_generic_init($td, $key, $iv); $content = mdecrypt_generic($td, $content); mcrypt_generic_deinit($td); mcrypt_module_close($td); $decoded= $file[$i]; $dfile = fopen("decoded/$decoded", "w");//decoded şeklinde klasör aç bitane hepsini oraya decode edip kaydetsin fwrite($dfile, $content); fclose($dfile); } ?>
notepad ile yazdım test etme şansım olmadı sorun olursa bitane örnek encryped.pdf yolla pm den hallederim bu arada txt içerisinde dosyanın tam ismi olacak şekilde yaptım (test.pdf) değilse gerekli düzenlemeleri yaparsın
trooper tarafından 15/Tem/16 09:36 tarihinde düzenlenmiştir -
<?php define('ENCRYPTION1','123456erferferfgrhr'); define('ENCRYPTION2', '789764eferferfthth'); $dizin = 'encode'; //pdf dosyalarının olduğu dizin $decodeDizin = 'decode'; //decode edilmiş dosyaların aktarılacağı dizin if(!file_exists($decodeDizin)) mkdir($decodeDizin,0777); $dosyalar = scandir($dizin); foreach ($dosyalar as $dosya) { $uzanti = pathinfo($dosya, PATHINFO_EXTENSION); if($uzanti != 'pdf') continue; $handler = @fopen($dosya, "rb"); $content = stream_get_contents($handler); $iv = ENCRYPTION1; $key = ENCRYPTION2; $td = mcrypt_module_open('rijndael-128', ' ', 'abc', $iv); mcrypt_generic_init($td, $key, $iv); $content = mdecrypt_generic($td, $content); mcrypt_generic_deinit($td); mcrypt_module_close($td); $dosyaIsmi = pathinfo($dosya, PATHINFO_FILENAME); $dfile = fopen($decodeDizin.'/'.$dosyaIsmi.'-decrypt.pdf', "w"); fwrite($dfile, $content); fclose($dfile); }
-
hocam tbtden kaynaklı ilk satırdaki hatayı düzeldirsin
encode klasörü içerisindeki pdflerin listesini alıp senin verdiğin işlemi uyguluyor ve decode klasörüne atıyor.
Senin işlemlere dokunmadım sadece dosya içerisindeki pdfleri alıp uygulamasını yaptırdım , çalışacaktır.
Ancak 1000 tane pdfin boyutları büyük ise timeout olabilir belki, sunucudan timeout değerini 0 yapmaya bak
Genki tarafından 15/Tem/16 10:40 tarihinde düzenlenmiştir -
-
@Genki sağolsun arkadaş yardımcı oldu..yazan herkese teşekkür ediyorum..
