Ir ao conteúdo

Código para fazer upload de arquivos não funciona


Henrique Valença

Posts recomendados

Postado

Criei uma página php com o seguinte código:



<?php
$file = $_POST['file'];

if ($_POST) {

if (is_uploaded_file($_FILES['file']['tmp_name'])) {
$uploaddir = 'dosgrafica.com / httpdocs / arquivos_clientes';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . $_FILES['file']['name'])) {
echo "Opa, deu certo!";
} else { echo "=[ num deu!"; }
}
}
?>


<html>
<head>
<title></title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="file">
<br>
<input type="submit" name="submit" value="Enviar">
</form>
</body>
</html>

Quando entro na página e tento fazer o upload do arquivo ao clicar em enviar aparece a seguinte mensagem:

Warning: move_uploaded_file(dosgrafica.com / httpdocs / arquivos_clientesLista.docx) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 8

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\php4633.tmp' to 'dosgrafica.com / httpdocs / arquivos_clientesLista.docx' in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 8

=[ num deu!

O que está errado e como consertar?

P.S.: Já alterei as permissões no servidor

Desde já grato pela ajuda

  • Moderador
Postado

Alterei o codigo para esse:

<?

$uploaddir = 'dosgrafica.com/httpdocs/arquivos_clientes/';

$uploadfile = $uploaddir . $_FILES["arquivo"]['name'];


if (move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploadfile)){
echo "Arquivo Enviado";}
else {echo "Arquivo não enviado";}

?>

e gera o seguinte erro:

Warning: move_uploaded_file(dosgrafica.com/httpdocs/arquivos_clientes/lista.docx) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 8

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\php9CCD.tmp' to 'dosgrafica.com/httpdocs/arquivos_clientes/lista.docx' in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 8

Arquivo não enviado

quando altero para esse código:

<?
$arquivo = $_FILES['arquivo'];
$name = $_POST['name']

$uploaddir = 'dosgrafica.com/httpdocs/arquivos_clientes/';

$uploadfile = $uploaddir . $_FILES['arquivo']['name'];


if (
move_uploaded_file
($_FILES['arquivo']
['tmp_name'],
$uploadfile)
)
{
echo "Arquivo Enviado";}
else {echo "Arquivo não enviado";}

?>

gera esse erro:

Parse error: syntax error, unexpected T_VARIABLE in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 5

O que está errado agora?

Desde já grato pela ajuda

  • Moderador
Postado

Olá,

está faltando o "ponto e virgula" no final de: $name = $_POST['name']

e tenha certeza de que alterou também o name do input file para: "arquivo"

veja se resolve o problema!

Att,

Dif

Postado

Alterei o código e coloquei o ";"

<?
$arquivo = $_FILES['arquivo'];
$name = $_POST['name'];

$uploaddir = 'dosgrafica.com/httpdocs/arquivos_clientes/';

$uploadfile = $uploaddir . $_FILES['arquivo']['name'];


if (
move_uploaded_file
($_FILES['arquivo']
['tmp_name'],
$uploadfile)
)
{
echo "Arquivo Enviado";}
else {echo "Arquivo não enviado";}

?>

agora ele exibe o seguinte erro:

Warning: move_uploaded_file(dosgrafica.com/httpdocs/arquivos_clientes/lista.docx) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 14

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Windows\Temp\phpEDE9.tmp' to 'dosgrafica.com/httpdocs/arquivos_clientes/lista.docx' in D:\inetpub\vhosts\dosgrafica.com\httpdocs\upload.php on line 14

Arquivo não enviado

  • Moderador
Postado

Por acaso este código de upload está junto com o formulário ou estás usando o código php em um arquivo separado do arquivo onde possui o formulário?

Postado

Você já verificou se esta pasta existe e tem permissão de escrita? eu tenho certeza de que você esta digitando o caminho errado.

se a pasta estiver um nível (pasta) acima do arquivo php faça assim


$uploadPath = dirname(__FILE__).'/../arquivos_clientes/';

se a pasta estiver no mesmo nível (pasta) do arquivo php faça assim


$uploadPath = dirname(__FILE__).'/arquivos_clientes/';

substitua $uploadPath por $uploaddir

  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!