Ben standart MIME uyumlu base64 dizeye dönüştürmek istediğiniz bir ikili var. Ben akımının filtre php://filter
a> yöntemini kullanabilirsiniz diye düşündüm, ama ben "hat uzunluğu" parametresini ayarlamak için nasıl kapattı alıyorum. Orada benzer sonuçlar elde edeceğini diğer yöntemler vardır, ama eğer ben anlamaya çalışıyorum:
Hatta mümkünse eğer / URI tarzı yöntemi kullanılarak akış filtreleri için parametrelerini ayarlamak için izin verdi.
Mümkün olup olmadığını, nasıl yapılır.
İşte ben bugüne kadar var bulmacanın parçalarıdır:
Açıkçası, ben fantezi olmaya çalışıyorum durdurabilir ve sadece ile gitmek:
$binary = "path/to/binary.file";
$mime = file_get_contents($binary);
$mime = base64_encode($mime);
$mime = chunk_split($mime);
Ya da, ben line-length
parametre olmadan php://filter
yöntemini kullanın ve sonra onu bölebilirsiniz:
$binary = "path/to/binary.file";
$mime = file_get_contents("php://filter/read=convert.base64-encode/resource=$binary");
$mime = chunk_split($mime);
Ya da, ben fopen
stream_filter_append
ile kombine ve (Conversion Filters kılavuzunda belirtildiği gibi) hiç URL-stili kullanamazsınız kullanabilirsiniz:
$binary = "path/to/binary.file";
$param = array('line-length' => 76, 'line-break-chars' => "\r\n");
$fp = fopen($binary, 'r');
stream_filter_append($fp, 'convert.base64-encode',null, $param);
$mime = fread($fp, filesize($binary));
fclose($fp);
Yani yukarıdaki tüm aynı sonucu verir, ancak bunların hiçbiri akışı için aynı URL line-length
parametre eklemek için, hangi için umuyordum nelerdir. Bir şey belki gibi:
$mime = file_get_contents("php://filter/read=convert.base64-encode:line-length=76/resource=$binary");
Ben sorunu parametre stream_filter_append
kullanılan bir dizi olarak geçirilecek olmasıdır düşünün.
Ne istiyorum yapılabilir Yani herkes biliyor?