Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) - Erro código PHP - move_uploaded_file


Marcos2003

Pergunta

Boa noite!

Estou fazendo um arquivo para upload de foto em php e quando seleciono a foto e envio aparece as seguintes mensagens:

Warning: move_uploaded_file(foto/4e5a793d28.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\loja_virtual\admin\baixar_foto.php on line 61

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php3F3E.tmp' to 'foto/4e5a793d28.jpg' in C:\wamp\www\loja_virtual\admin\baixar_foto.php on line 61

Segue abaixo o código

Desde de já agradeço a ajuda

<?php

$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

$config = array();

$config["tamanho"] = 1068883;

$config["largura"] = 350;

$config["altura"] = 250;

$config["diretorio"] = "foto/";

function nome($extensao)

{

global $config;

$temp = substr(md5(uniqid(time())),0,10);

$imagem_nome = $temp .".". $extensao;

if (file_exists($config["diretorio"] . $imagem_nome))

{

$imagem_nome = nome($extensao);

}

return $imagem_nome;

}

if ($arquivo)

{

$erro = array();

if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))

{

$erro[] = "Arquivo em formato inválido! a imagem deve ser jpg, jpeg, bmp, gif ou png";

}

else

{

if($arquivo["size"] > $config["tamanho"])

{

$erro[] = "Arquivo maior que o permitido, a imagem deve ser no máximo" . $config["tamanho"]."bytes";

}

$tamanhos = getimagesize ($arquivo["tmp_name"]);

if($tamanho[0] > $config["largura"])

{

$erro[] = "Largura maior que a permitida, a largura deve ser no máximo" . $config["largura"] . "pixels";

}

if($tamanho[1] > $config["altura"])

{

$erro[] = "Altura maior que a permitida, a largura deve ser no máximo" . $config["altura"] . "pixels";

}

}

if (!sizeof($erro))

{

preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$arquivo["name"],$ext);

$imagem_nome = nome($ext[1]);

$imagem_dir = $config["diretorio"] . $imagem_nome;

move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns=http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style type="text/css">

#form1 {

text-align: justify;

}

</style>

</head>

<body>

<p>&nbsp;</p>

<?php if ($arquivo && !sizeof($erro))

{

echo "Imagem eviada com sucesso";

}

?>

<form action=""<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">

Envie sua foto em foto gif, jpg, bmp ou png. <br /> a imagem n&atilde;o deve ser maior que <? echo $config["tamanho] ?> e deve ter <? echo $config["largura"] . "X" . $config["altura"] ?> pixels. <br />

<table width="251" border="0" align="center" cellspacing="0" cellpadding="0">

<?php

if(sizeof($erro))

{

echo "Ocorreram os seguintes erros:";

foreach($erro as $err)

{

echo " - " .$err ."<br>";

}

echo "</br>";

}

?>

<tr>

<td width="54">Foto </td>

<td width="219"><input type="file" name="foto" id="foto" /></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type="submit" name="button" id="button" value="oK" /></td>

</tr>

</table>

</form>

<p>&nbsp;</p>

</body>

</html>

Editado por Marcos2003
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A mensagem de erro é clara:

Warning: move_uploaded_file(foto/4e5a793d28.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory

Você está tentando mover para um diretório que não existe.

Link para o comentário
Compartilhar em outros sites

  • 0
A mensagem de erro é clara:

Warning: move_uploaded_file(foto/4e5a793d28.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory

Você está tentando mover para um diretório que não existe.

A pasta existe sim fica em C:\wamp\www\loja_virtual\foto e no código é informada em:

$config["diretorio"] = "foto/";

e

$imagem_dir = $config["diretorio"] . $imagem_nome;

move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

no entanto a mesma não é encontrada já verifiquei em todo código onde poderia está o erro, mas não achei

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...