Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel Groh

Erro na hora de fazer UPLOAD

Recommended Posts

Alguém pode me ajudar, quero saber porque, meu UPLOAD não funciona, está aqui o código:<?php $tmp = "c:\paginas_web\php"; move_uploaded_file($foto1, $tmp); ?> <html><head><title>Formulário de Upload</title></head><body><form enctype="multipart/form-data" method="post" name="cadastro" action="FormUpload.php" > <input type="file" name="foto1" value="foto1"> <INPUT TYPE="submit" VALUE="Send File"> </form> </body></html>da erro de Undefined Variable: Foto1Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

a própria msg de erro já diz

 

a variável $foto1 não possui valor (indefinida)

 

faz isso:

 

<html><head><title>Formulário de Upload</title></head><body><form enctype="multipart/form-data" method="post" name="cadastro" action="<?=$PHP_SELF;?>" > <input type=hidden name=acao value=1><input type="file" name="foto1" value="foto1"> <INPUT TYPE="submit" VALUE="Send File"> </form><?if(isset($acao)){echo "<hr>";$tmp = "c:\paginas_web\php"; if(move_uploaded_file($foto1, $tmp)){echo "enviado com sucesso!";}else{echo "não foi enviado";}}?> </body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom, não funcionou, olha o código:

<html><head><title>Formulário de Upload</title></head><body><form enctype="multipart/form-data" method="post" name="cadastro" action="FormUpload.php" > <input type=hidden name=acao value=1><input type="file" name="foto1" value="foto1"> <INPUT TYPE="submit" VALUE="Send File" name="acao"> </form><?if(isset($acao)){echo "<hr>";$tmp = "c:\paginas_web\php"; if(move_uploaded_file($foto1, $tmp)){echo "enviado com sucesso!";}else{echo "não foi enviado";}}?> </body></html>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não achei nada de bom lá em relação a UPLOAD, é tudo a mesma coisa...

Gostaria de saber se devo arrumar algo no php.ini ?

Já fiz várias aplicações com Formulários, envio de e-mails e tal, mas com UPLOAD da isso:

 

Código de novo:

 

<?	if (isset($acao))	{	  $temp = "C:\php\uploadtemp"; 	 if(move_uploaded_file($arquivo,$temp)){    echo "Arquivo enviado";	}else{	 	 echo "Não foi possível fazer o upload"; 	 	}  }  ?><html><head><title>Formulário de Upload</title></head><body><form enctype="multipart/form-data" method="post" name="cadastro" action="FormUpload.php" > <input type="hidden" name="acao" value="1"><input type="file" name="arquivo"> <INPUT TYPE="submit" VALUE="Ok"> </form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi mal, o que passei tinha esquecido de trocar o nome da variável

 

e como assim não encontrou nada no php.net ??

 

http://www.php.net/manual/pt_BR/features.f...file-upload.php

 

 

 

<?

 

if (isset($acao))

{

 

$nome_campo = "foto1";

$imagem = $HTTP_POST_FILES;

$tamanho = trim($imagem[$nome_campo]['size']);

$tmp_name = trim($imagem[$nome_campo]['tmp_name']);

 

$temp = "C:\php\uploadtemp";

if(move_uploaded_file($tmp_name,$temp)){

echo "Arquivo enviado";

}else{

 

echo "Não foi possível fazer o upload";

 

}

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce precisa dar permissão de escrita para a pasta CHMOD 777ao inves de utilizar o move_uploaded_file porque não utiliza o copy émais fácilfui...webvp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, gostaria de fazer uma pergunta com um problema parecido que estou tendo. Eu uso o copy porém quando faço os testes da esse warning e não aparece nada nas pastas.Warning: copy(C:/TEMP) [function.copy]: failed to create stream: Permission denied in d:\homepages\admin\ftp\envia.php on line 26Eu uso o win XP estou tentando copiar de uma pasta para outra e da esse erro.Já tentei fazer upload para o site na net e tb da o mesmo erro, o que seria???Haa mais uma perguntinha, para utilizar a biblioteca GD num site eu preciso pedir para o administrador instalar esse módulo lá ou normalmente já tem???Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa ter que falar aqui, mas "vai a m*****".

 

respondam aí quem souber pow, não dêm respostas que não tem nada haver com o tópico que postei. beleza ?

 

quem puder me ajudar dando a solução ficaria grato, quem não puder beleza também, s/ crise.

 

o erro dá quando: envio as informações de um formulário do tipo multipart/form-data agora quando envio as informações de um Form normal, não da erro nenhum, funciona normalmente.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa ter que falar aqui, mas "vai a m*****".

 

respondam aí quem souber pow, não dêm respostas que não tem nada haver com o tópico que postei. beleza ?

 

quem puder me ajudar dando a solução ficaria grato, quem não puder beleza também, s/ crise.

 

o erro dá quando: envio as informações de um formulário do tipo multipart/form-data agora quando envio as informações de um Form normal, não da erro nenhum, funciona normalmente.

 

Abraços

todas as respostas aqui são válidas e resolvem o problema citado, se não resolveu é porque você não soube explicar o problema corretamente

 

 

crie seu form numa página, por exemplo "form.php" e coloque isso:

<form action="<?=$onde;?>" method="post" enctype="multipart/form-data"><input type=file name=form1 size=20><input type=submit value=enviar></form>

 

e o script de upload crie em "upload.php" e coloque isso:

<?if (isset($acao)){$nome_campo = "foto1";$imagem = $HTTP_POST_FILES;$tamanho = trim($imagem[$nome_campo]['size']);$tmp_name = trim($imagem[$nome_campo]['tmp_name']);// para sistemas win32 na nomenclatura de diretórios é usada barra invertida// no php barra invertida é um caracter especial, por isso o uso do backslash \\$temp = "C:\\php\\uploadtemp\\";if(move_uploaded_file($tmp_name,$temp)){echo "Arquivo enviado";}else{echo "Não foi possível fazer o upload";}}?>
obs: verifique se o caminho "C:\php\uploadtemp" é válido e está marcado como "ler, escrever, executar"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Hinom, em relação a "você não soube explicar o problema corretamente", pode ter certeza que sim, então se não resolveu o problema não é problema da minha explicação e sim de quem está tentando resolvê-lo, acho que respostas que não diz respeito ao tópico devem ser postadas em um novo tópico, pelo menos na minha época de admin dessa m***** era assim, agora deve ta pior.

 

Mesmo assim obrigado pela força, continua não funcionando, a permição está de Controle Total para todos os usuários, o erro que dá é aquele mesmo de Undefined Variable.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usem isto como exemplo, ta funcionando direitinho... é antigo, pois usei a muito tempo mas funciona.<? require_once("../setup.php"); require_once("SESSION_ID.php");$desc = urlencode($descriprod);//testa a primeira imagemif($img <> 'none') {if(($img_type <> 'image/gif') AND ($img_type <> 'image/pjpeg')) {$erros++;$errors = $errors."Tipo de arquivo inválido<br>";}if($img_size > 60000) {$erros++;$errors = $errors."O tamanho do arquivo é maior que 40 K<br>";}$arquivo = "/export/htdocs/imagens/$img_name"; if (file_exists($arquivo)) { $erros++;$errors = $errors."O arquivo já existe, por favor renomeie o arquivo<br>";} } //testa a segunda imagemif($img2 <> 'none') {if(($img2_type <> 'image/gif') AND ($img2_type <> 'image/pjpeg')) {$erros2++;$errors2 = $errors2."Tipo de arquivo inválido<br>";}if($img2_size > 60000) {$erros2++;$errors2 = $errors."O tamanho do arquivo é maior que 40 K<br>";}$arquivo1 = "/export/htdocs/imagens/$img2_name"; if (file_exists($arquivo1)) { $erros2++;$errors2 = $errors2."O arquivo já existe, por favor renomeie o arquivo<br>";} }if($erros2 ||$erros == 0) {copy($img2, "/export/htdocs/imagens/$img2_name");copy($img, "/export/htdocs/imagens/$img_name");$sql = mysql_query("INSERT INTO produtos(nomeprod,descripod,imgprod,imgprod1,catprod) VALUES('$nomeprod','$desc','$img_name','$img2_name','$categoria')") or die("Erro no comando SQL:".mysql_error());echo "<script>alert('Dados incluídos com sucesso!');"; echo "location.href='pgProdutos.php'</script>";}else {echo "Foram encontrados os seguintes erros:<br>$errors e $errors2";}?>fui...webvp

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola amigo nao li todo o topico porque estava com preguiça, mas faz o seguinte ja passei por essse mesmo problemavocê tem um formulario onde manda imagens certo?se nesse objeto (que é o input type='file')nao conter nenhuma informação com certeza vai dar errovocê pode fazer uma coisa bem simplesif (move_uploaded_file($_FILES['arquivo']['tmp_name'], $dir . $_FILES['arquivo']['name'])) { $imagem = $_FILES['arquivo']['name']; echo "a imagem foi inserida corretamente"; } else { echo"a imagem nao foi inserida"; $imagem = "naodisponivel.jpg";}espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara, o problema está nas variáveis.Tente o seguinte:se as variáveis que está usando existem na versão do PHP que está usando.se as opções de UPLOAD estão corretas no PHP.INI.não coloque value no campo que contém o arquivo(o valor desse campo é o próprio arquivo)o mais importante:verifique se register_globals está ligada no PHP.INI e se o nome do campo corresponte à variável que está usando.Não me "mande à m*****", mas acho que o erro está acontecendo porque você colocou value="foto1" no formulário e o PHP não acha arquivo temporário nenhum em $foto1, apenas uma string, ae dá erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.