Rdg'o'; 0 Denunciar post Postado Fevereiro 24, 2011 Pessoal, cadastrei aqui no fórum pois li varios topicos sobre php e estou aprendendo bastante, bem estou começando a aprender a linguagem, e sei que sozinho nunca irei aprender, pois é necessario muita pesquisa, dicas, explicações etc... Mas então, eu queria a ajuda de vocês para saber como eu utilizo a função preg_match, pois tenho um sistema de upload de imagem que usa esta funcação, ela está assim: // ler extensão de arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg|exe|zip|txt|mp3|mpg|wav|wma|doc|xls|ppt|htm){1}$/i", $arquivo["name"], $ext); Sei que ela está com o comentário de que le a extensão do arquivo que sera feito o upload, mas queria saber para que serveria realmente a função e esses /\ e 1}$/i . o codigo inteiro é esse (ele esta comentado, mas sou iniciante e nao intendi algumas funções como tambem a primeira da variavel arquivo): // Busca arquivo e prepara para upload $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; // ler extensão de arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg|exe|zip|txt|mp3|mpg|wav|wma|doc|xls|ppt|htm){1}$/i", $arquivo["name"], $ext); // Renomear arquivo para evitar quebras $file_nome = md5(uniqid(time())) . "." . $ext[1]; // upload e registro de pasta $file_dir = "arquivos/" . $file_nome; // Upload e alocação de arquivo move_uploaded_file($arquivo["tmp_name"], $file_dir); // Mensagem de envio de arquivo echo "Seu arquivo foi enviada com sucesso!<br><br><a href=index.php>Enviar Mais!</a>"; Muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Fevereiro 24, 2011 Sempre que você tiver alguma dúvida sobre o funcionamento de uma função basta pesquisar no manual do próprio PHP. http://br.php.net/ma....preg-match.php Esta função serve para usar expressões regulares no PHP. Um ótimo guia sobre expressões regulares é esse aqui, do Aurélio Jargas. Além do guia on-line tem também o livro "Piazinho" que é bom você ter pra sempre consultar. Eu tenho o livro e é ótimo. Compartilhar este post Link para o post Compartilhar em outros sites
Rdg'o'; 0 Denunciar post Postado Fevereiro 25, 2011 Bom, ja tinha ido ler o manual do PHP, tava em ingles então eu havia ido no google traduzir mas não deu muito certo não, mas beleza, vo ve o que eu posso fazer. Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Fevereiro 25, 2011 A função preg_match serve para verificar se uma determinada string "casa" com uma determinada expressão regular. Através do terceiro parâmetro da função é possível informar uma variável que irá conter um array, sendo o primeiro índice o texto "casado" e os demais índices subpatterns, como por exemplo grupos definidos na expressão. Para entender como funcionam as expressões regulares, eu recomendo que leia o guia que eu indiquei no post anterior ou compre o livro do Aurélio Jargas que é ótimo. Tanto o guia como o livro são em português. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 25, 2011 E quanto ao manual estar em inglês, se seu navegador está em inglês ele será automaticamente definido para esse idioma. Caso esteja em português (desconsiderando modificadores de locale) e o manual persista em aparecer em inglês, veja que na página de cada documentação, logo acima do nome da função acessada há um menu dropdown onde você troca o idioma. A maioria das funções possui versões traduzidas. Uma ou outra mais específicas é que não. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Rdg'o'; 0 Denunciar post Postado Fevereiro 27, 2011 Ok. Vi la mais é em ingles mesmo.Mas agora to com um problema aqui, se vocês poderia me ajudar, é o seguinte, no sistema de upload que eu estava fazendo, ele faz o upload normalmente, mas quando ele faz o upload de uma imagem por exemplo:Pôr-do-Sol.jpg, no lugar do "ô" ele fica uns caracteres estranhos no nome da imagem que foi feita o upload, então, quando eu crio uma variável para exibir essa imagem em outra página ela não aparece pois no banco de dados fica com o nome Pôr-do-Sol.jpg normalmente só que lá na pasta aonde salva as imagens do upload fica com as letras diferentes, alguem poderia me ajudar? obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Fevereiro 28, 2011 Isso é problema na codificação. Para não fugir muito do escopo do tópico, uma idéia seria transformar todos os caracteres acentuados do nome do arquivo em seus correspondentes não acentuados. Pode usar strtr() para isso. Compartilhar este post Link para o post Compartilhar em outros sites