Eu tenho um sistema simples que faz o upload da imagem pra uma pasta e grava o nome e a url no banco de dados.Porém quando seleciono uma imagem maior que 2mb da erro na vaiavel destino que é igual a $ destino = “pasta/”.nomefoto ` Upload de arquivos
$ dsn = “mysql:host={$ host};port=3306;dbname={$ banco}”;
try { // Conectando $ pdo = new PDO($ dsn, $ usuario, $ senha); } catch (PDOException $ e) { // Se ocorrer algum erro na conexão die($ e->getMessage()); } $ categoria = $ _POST[‘tag’]; $ autor = $ _POST[‘autor’]; $ data = $ _POST[‘datapublicacao’]; if($ autor == null){ $ autor = “Anônimo”; echo $ autor; } if($ categoria == null){ $ categoria = “texto,simples,comum,desabafo”; echo $ categoria; } if($ data == null){ $ data = date(“d/m/Y”); echo $ data; } define(‘TAMANHO_MAXIMO’, (4 * 1024 * 1024)); // verifica se foi enviado um arquivo if(isset($ _FILES[‘arquivo’][‘name’]) && $ _FILES[“arquivo”][“error”] == 0) {
echo "Você enviou o arquivo: <strong>" . $ _FILES['arquivo']['name'] . "</strong><br />"; echo "Este arquivo é do tipo: <strong>" . $ _FILES['arquivo']['type'] . "</strong><br />"; echo "Temporáriamente foi salvo em: <strong>" . $ _FILES['arquivo']['tmp_name'] . "</strong><br />"; echo "Seu tamanho é: <strong>" . $ _FILES['arquivo']['size'] . "</strong> Bytes<br /><br />"; $ arquivo_tmp = $ _FILES['arquivo']['tmp_name']; $ nome = $ _FILES['arquivo']['name']; // Pega a extensao $ extensao = strrchr($ nome, '.'); // Converte a extensao para mimusculo $ extensao = strtolower($ extensao); // Somente imagens, .jpg;.jpeg;.txt;.gif;.png // Aqui eu enfilero as extesões permitidas e separo por ';' // Isso server apenas para eu poder pesquisar dentro desta String if(strstr('.jpg;.jpeg;.gif;.png;.svg', $ extensao)) { // Cria um nome único para esta imagem // Evita que duplique as imagens no servidor. $ novoNome = $ nome . '.' . $ extensao; // Concatena a pasta com o nome $ destino = 'fotos/' .$ nome; // tenta mover o arquivo para o destino if( @move_uploaded_file( $ arquivo_tmp, $ destino )) { echo "Arquivo salvo com sucesso em : <strong>" . $ destino . "</strong><br />"; //echo "<img src=\"" . $ destino . "\" />"; } else echo "Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />"; } else echo "Você poderá enviar apenas imagens ";
} else { echo “Você não enviou nenhum arquivo!”; } $ urltxt = $ destino; //gravar formulario no banco de dados $ stmt = $ pdo->prepare(‘INSERT INTO imagens (nome, urlimg, autor, datadepublicacao, categoria) VALUES (:nome, :urlimg, :autor, :datadepublicacao, :categoria)’);
$ stmt->bindParam(‘:nome’, $ nome,PDO::PARAM_STR); //$ cadastro->bindParam(‘:nome’, $ nome, PDO::PARAM_STR); $ stmt->bindParam(‘:urlimg’,$ urltxt, PDO::PARAM_STR); $ stmt->bindParam(‘:autor’,$ autor,PDO::PARAM_STR); $ stmt->bindParam(‘:datadepublicacao’,$ data,PDO::PARAM_STR); $ stmt->bindParam(‘:categoria’,$ categoria,PDO::PARAM_STR); $ stmt->execute(); ?> `