Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal estou com esse problema aqui, quero validar o upload
pelo nome do arquivo ou seja se o mome do arquivo for diferente do
valor da variavel que eu passar o valor no sistema ele nao faz o
upload se for igual ele faz o upload e armazena o caminho no mysql,
abaixo segue o codigo:
<?php
include 'conecta.php';
// aqui estou passando um nome de arquivo para teste, no sistema
retorna um valor d uma variavel
$palavra= "1234.pdf";
//se existir o arquivo
if(isset($_FILES["arquivo"])){
$arquivo = $_FILES["arquivo"];//se não existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$nome = $pasta_dir . $arquivo["name"];
$separador = explode("/",$nome);
$resultado = $separador[1]; echo "nome igual";
move_uploaded_file($arquivo["tmp_name"], $nome);
mysql_query("INSERT INTO imagem VALUES ('', '$nome', '$id_pro')");
}
else {
echo "nome diferente";
}
}
?>
Obrigado a todos
A pasta deve terminar com "/"!
Recentemente, para fins didáticos, desenvolvi uma classe de Upload :seta: http://forum.imasters.com.br/topic/439059-classe-upload/page__gopid__1734782#entry1734782
Para fazer a comparação, adicionei o método, público, Upload::getFileName() que poderá retornar uma string (caso seja Upload simples), ou um array (caso seja Upload Múltiplo). Segue um exemplo de uso:
<?php
if(isset($_POST['up_imgs'])){
require_once('../Class/Upload.class.php');
$up = new Upload($_FILES['image']);
$palavra = "sheldon_2.jpg";
// Caso seja apenas Upload simples, faça uma comparação:
// if($up->getFileName() != $palavra) {
if(!in_array($palavra, $up->getFileName())) {
$up->maxSize(0.3)
->setDir('/var/www/Upload/Images_Uploaded/')
->fileTypes(array('image/jpeg', 'image/png', 'image/gif'))
->send();
} else {
echo "O arquivo ". $palavra ." já existe!";
}
}?>
:thumbsup:
o caminho
$pasta_dir está correto?
Ele encontra essa pasta?