Will Up 0 Denunciar post Postado Junho 24, 2010 Olá, fiz um sistema de upload de imagens (tá perfeito), mas preciso pegara a extensão da imagem que vai ser "upada", para depois fazer uma criptografia md5 no título. Segue meu Script: <?php include 'config.php'; if ( !isset($_SESSION["Username"]) ) { header("location: loginform.php"); exit; } if(isset($_POST['upload'])){ $pasta = 'images_files/'; foreach($_FILES["img"]["error"] as $key => $error){ if($error == UPLOAD_ERR_OK){ $tmp_name = $_FILES["img"]["tmp_name"][$key]; $cod = date('dmy') . '-' . $_FILES["img"]["name"][$key]; $nome = $_FILES["img"]["name"][$key]; $uploadfile = $pasta . basename($cod); $Tags = $_POST[Tags]; if(move_uploaded_file($tmp_name, $uploadfile)){ $inserir = mysql_query("INSERT INTO images (ImageID, Cid, Sid, Title, Tags, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '$Tags', '$cod', '', 'Yes', '', '$_SESSION[Username]', '$_SESSION[Email_Address]')"); header("location:myimages.php"); } } } } ?> Podem me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Quelipe 15 Denunciar post Postado Junho 24, 2010 $nome = $_FILES['img']['name']; $ext = end(explode(".", $nome)); At+ Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Junho 24, 2010 Extensão! E não NOME da imagem. Pega o time MIME do arquivo. echo $_FILES['img']['type']; Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 24, 2010 Extensão! E não NOME da imagem. Pega o time MIME do arquivo. echo $_FILES['img']['type']; leia o tópico com atenção. Eu disse que iria criptografar o título. $nome = $_FILES['img']['name']; $ext = end(explode(".", $nome)); At+ Cara, deu isso: Warning: explode() expects parameter 2 to be string, array given in /home/theimage/public_html/multiplo.php on line 22 Warning: end() expects parameter 1 to be array, null given in /home/theimage/public_html/multiplo.php on line 22 Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Junho 25, 2010 Leia o título do tópico com atenção. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Junho 25, 2010 $nome = $_FILES['img']['name']; $ext = end(explode("\.", $nome)); Tente assim! Provavelmente, o PHP tá entendendo que é para concatenar algo! Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 25, 2010 Dee, a extensão faz parte do nome do arquivo. E ele deixou bem claro: [...] mas preciso pegara a extensão da imagem que vai ser "upada", para depois fazer uma criptografia md5 no título. crie uma linha var_dump($_FILES['img']['name']); E poste o resultado Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 25, 2010 Dee, a extensão faz parte do nome do arquivo. E ele deixou bem claro: [...] mas preciso pegara a extensão da imagem que vai ser "upada", para depois fazer uma criptografia md5 no título. crie uma linha var_dump($_FILES['img']['name']); E poste o resultado Deu isso: array(1) { [0]=> string(8) "Will.png" } Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 25, 2010 Obrigado pela tentativa de ajuda de todos, finalmente consegui. Valeu! Abs. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Junho 25, 2010 Que bom que resolveu, mas como não demonstrou a forma como fez, fica adida uma solução que percorre dezenas de tópicos no fórum: function getExtension( $filename ) { return substr( $filename, strrpos( $filename, '.' ) + 1 ); } var_dump( getExtension( 'arquivo.video.xvid.avi' ) ); // string(3) "avi" Para esse caso, bastaria aplicar essa função sobre $_FILES['img']['name'], como o Evandro sugeriu. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites