Bobrinha 4 Denunciar post Postado Agosto 31, 2010 Olá pessoal, estou aqui finalizando um script de upload de MP3 porém alguns arquivos mp3 não faz upload devido ao seus nomes com caracteres especias etc... ai da erro. Gostaria de saber como implantar no script abaixo uma função para renomear o arquivo antes de fazer o upload e depois q renovar realizar o upload e gravar no DB o script esta correto e funciona corretamente, falta so adaptar ou então uma função para retirar caracteres especiais etc do nome da musica <?php include "conexao.php"; $musica = $_POST['musica']; $cantor = $_POST['cantor']; $data = date ("Y-m-d H:i:s"); #Declaramos de onde estaremos recebendo o anexo (que será através da variável ($_FILES) de envio de arquivos por HTTP) $DfAnexo = $_FILES["DfAnexo"]["name"]; #Se nenhum arquivo for selecionado para ser enviado, exibe a mensagem de erro abaixo if(empty($DfAnexo) || empty($musica) || empty ($cantor)) { echo "Erro:<br /><br />"; echo "Todos os campos devem ser preenchidos"; } #Caso contrário, o arquivo é checado para ser processado else { #Declaramos um tamanho máximo para o envio do anexo em bytes (setamos como sendo 5120000 bytes (que é igual a 5 MB)) #Se o anexo for maior que 5 MB, exibe a mensagem de erro abaixo e termina a execução do script if($_FILES["DfAnexo"]["size"] > 5120000) { echo "Erro no envio do anexo<br /><br />"; echo "Seu anexo não poderá ser maior que 5 MB!"; exit; } #Caso contrário, o arquivo continua a ser processado if(!empty($_FILES["DfAnexo"]["tmp_name"]) and is_file($_FILES["DfAnexo"]["tmp_name"])) { #Declaramos a pasta aonde o arquivo será salvo (esta pasta deve estar com chmod 777) $caminho = "uploads/"; #Declaramos a data e hora atual que será inserida no nome do arquivo para registrar o exato momento do envio dele $datahora = date("Ymd_His_"); #Re-declaramos a pasta aonde o arquivo será salvo, desta vez inserindo junto a ela o nome do arquivo $caminho = $caminho.$datahora.$_FILES["DfAnexo"]["name"]; #Declaramos os tipos de extensões aceitas para o envio do anexo //if(eregi(".mp3$", $_FILES["DfAnexo"]["name"]) or eregi(".zip$", $_FILES["DfAnexo"]["name"])) { if(eregi(".mp3$", $_FILES["DfAnexo"]["name"])) { #Copiamos o arquivo para a pasta setada mais acima copy($_FILES["DfAnexo"]["tmp_name"],$caminho); print '<h1>'.$caminho.'</h1>'; $insere = mysql_query ("INSERT INTO mp3 (musica,cantor,download,cliques,data) VALUES('$musica','$cantor','$caminho','0','$data') ")or die(mysql_error()); //echo "<br /><br />"; //echo "MP3 Cadastrado com sucesso..."; echo $insere; } #Se o anexo não tiver uma extensão aceita, exibe a mensagem de erro abaixo e termina a execução do script else { echo "Erro no envio do anexo<br /><br />"; echo "Extensão inválida de arquivo!"; exit; } } #Se o anexo tiver sido indicado através de um caminho inválido ou tenha um nome inválido, exibe a mensagem de erro abaixo e termina a execução do script else { echo "Erro no envio do anexo<br /><br />"; echo "Caminho e/ou nome de anexo inválido!"; exit; } } //} ?> Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Setembro 1, 2010 dá uma olhada... http://www.google.com/search?hl=en&q=remover+caracteres+especiais+php Compartilhar este post Link para o post Compartilhar em outros sites
Bobrinha 4 Denunciar post Postado Setembro 1, 2010 ja fiz esse pesquisa mais nao consegui implantar Compartilhar este post Link para o post Compartilhar em outros sites