Stack Overflow em Português Asked on November 25, 2021
Estou desenvolvendo um script de um captcha simples em PHP e me desafiei a conseguir gerar um arquivo de áudio para ajudar pessoas com deficiências visuais.
Não sabia ao certo como fazer isso, mas criei um arquivo de áudio para cada letra do alfabeto e chamei-o de ‘nome da letra’.mp3 (exemplo: ‘w.mp3’), e, em um arquivo PHP chamado ‘audio.php’, designado para criar o arquivo de áudio final, eu peguei as letras do captcha e juntei o áudio de cada letra utilizando as funções file_get_contents()
e fwrite()
, nativas do PHP; para minha surpresa, funcionou exatamente como eu queria.
Minha pergunta é: apesar de ter funcionado, é correto fazer isso? Ler o conteúdo de um arquivo e escrevê-lo em outro é simples em arquivos de texto e similares, mas em arquivos mais complexos como áudios, tenho minhas dúvidas se é o ideal. Se sim, é recomendado?
audio.php:
<?php
session_start(); //início da sessão
$vetorLetras = str_split($_SESSION["captcha"]); //código do CAPTCHA
$arquivo = "audios".DIRECTORY_SEPARATOR.session_id().".mp3"; //nome do arquivo a ser criado
$f = fopen($arquivo, "a+"); //arquivo é criado
for ($i = 0; $i < 5; $i++) {
//a cada repetição o arquivo recebe o conteúdo do áudio de uma letra
$x = file_get_contents("audios".DIRECTORY_SEPARATOR.$vetorLetras[$i].".mp3");
fwrite($f, $x);
}
fclose($f); //arquivo é fechado
//força-se o download do arquivo
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-disposition: attachment; filename="audio.mp3"");
readfile($arquivo);
//arquivo é excluído
unlink($arquivo);
?>
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP