Antonio_1988 Posted July 21, 2013 at 09:02 PM Report #519514 Posted July 21, 2013 at 09:02 PM Boa Noite. Estou a fazer o upload do nome das imagens para a base de dados, este nome é tratado para que nao contenha caracteres indesejados! Este tratamento faz, só que no campo do nome da base de dados aparece com um espaço em branco antes do nome! $nome_original_do_arquivo = strtolower(trim($arquivo['name'])); $caracteres = array("ç","~","^","]","[","{","}",";",":","´",",",">","<","-","/","|","@","$","%","ã","â","á","à","é","è","ó","§","ò","+","=","*","&","(",")","!","#","?","`","ã"," ","©","£"); $nome_original_do_arquivo = str_replace(' ', '', $nome_original_do_arquivo); $nome_arquivo_tratado = str_replace($caracteres,"",$nome_original_do_arquivo);
bioshock Posted July 21, 2013 at 10:34 PM Report #519525 Posted July 21, 2013 at 10:34 PM Não estás a fazer grande filme? Não bastava a utilização de expressões regulares?
Rui Carlos Posted July 22, 2013 at 11:18 PM Report #519616 Posted July 22, 2013 at 11:18 PM Podes sempre aplicar o trim novamente. Mas não estou a ver de onde é que o espaço aparece. Rui Carlos Gonçalves
HappyHippyHippo Posted July 23, 2013 at 12:45 AM Report #519618 Posted July 23, 2013 at 12:45 AM além de fazeres o que o bioshock te disse (regex) o que não apresentaste aqui foi o SQL ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Antonio_1988 Posted July 23, 2013 at 01:13 PM Author Report #519657 Posted July 23, 2013 at 01:13 PM para inserir tenho esta query: mysql_query("INSERT INTO arquivos (nome, tipo, data, hora, item) VALUES (' ".$nome_arquivo_tratado." ','".$tipo_arquivo."', CURDATE(), NOW(), ' ".$idItem."')"); Isto está a funcionar, só que na bd o campo nome fica com um espaço em branco!! Depois quando tento exibir as imagens dá-me erro! Para resolver, ou remediar fiz o seguinte: $sql = mysql_query("SELECT * FROM arquivos "); //Exibir as informações while ($arquivos = mysql_fetch_object($sql)) { echo "<br/>"; //exibir a imagem $nome = str_replace(' ', '', $arquivos->nome); echo "<img src='uploads/".$nome."' alt='Foto de Exibição' height='250' width='250'>";.... Não se isto é boa prática!!! Quanto ao uso de expressões regulares... vou seguir os vossos conselhos! Obrigado!
Rui Carlos Posted July 23, 2013 at 02:02 PM Report #519666 Posted July 23, 2013 at 02:02 PM Tens dois espaço a mais na query: "... VALUES (' ".$nome_arquivo_tratado." ','".$tipo_arquivo."', CURDATE(), NOW(), ' ".$idItem."')" E já agora, não devias usar as funções mysql_*. Usa as mysqli_*, por exemplo. Rui Carlos Gonçalves
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now