Ir para conteúdo

Arquivado

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

Chris Martin

Como Enviar arquivos para o servidor

Recommended Posts

Como enviar arquivos para o servidor, meu código não executa o move_uploaded_file

$nome = $_FILES['file']['name'];
$tipo = $_FILES['file']['type'];
$TmpName = $_FILES['file']['tmp_name'];
$erro = $_FILES['file']['error'];

if ($erro == 0) {
	$ext = strtolower(end(explode('.', $nome)));
	$nn= time().'-'.uniqid().'.'.$ext;
	$destino = '../'.$nn;
	print_r("../{$nn}");
	move_uploaded_file($_FILES['file']['tmp_name'], "../{$nn}") or die('houve um erro ao enviar o arquivo');
}else{
	echo "Não consegui enviar o arquivo: {$nome}. <a href='../index.php'>Voltar</a>";
}

sempre que tento enviar um arquivo aparece houve um erro ao enviar o arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Duas coisas:

 

1. Habilite todas as exibições de erro, como mostrado neste tópico

 

2. Sua variável $erro vai te dizer o motivo do problema. Veja http://php.net/manual/pt_BR/features.file-upload.errors.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

o único erro que está aparecendo é este:

 

Strict Standards: Only variables should be passed by reference in /var/www/html/PG/code/teste01.php on line 12
../1438100086-55b7aa7660f73.zip

 

e na linha 12 eu tenho:

$ext = strtolower(end(explode('.', $nome)));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é por que você precisa atribuir o retorna de explode a uma variável, para, depois, usar end().

 

 

$arr = explode('.', $nome);
$ext = strtolower(end($arr));

 

 

E qual é o valor de $erro? É só dar um echo/var_dump pra ver

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por asacap1000
      Salve Galera!!! estou com um projeto onde preciso disponibilizar na intranet documentos que estão em um servidor.
      Estes documentos estão salvos em diversas pastas dividido por dias meses e anos etc etc.
      Não quero que list todos os documentos porém ele seria pesquisado.
      Exemplo: NF 123456
      No arquivo salvaram assim "cliente NF 123456.pdf", tentei utilzar o glob porém ele não retorna nada nem deu erro.
      Por ser em outro servidor não seu se ele consegue ler já pesquisei mas não encontrei nada sobre isso.
       
      Saberiam me ajudar com este caso:
       
      Na intranet ele terá uma busca normal de relatórios ao listar essas informações ele diponibiliza um link com o numero da NF a qual eu chamaria essa página para realizar a busca no servidor e assim abrir o arquivo no navegador..
    • Por Dj Del Palmis
      Olá pessoal criei um seguinte script para minha pagina para upload de múltiplas fotos, contudo coloquei um if para caso o campo $_FILES retornar vazio ele retorne uma msg de erro. Porém toda vez mesmo o campo file estando vazio, ele retorna que há algo. Alguém pode me dar uma ajuda no que estou fazendo de errado?
      if(!empty($_FILES["imagens"]) and !empty($_FILES["imagens"]["name"])){ $img_contar = count($_FILES["imagens"]["name"]); $array_img = ""; for ($i = 0; $i < $img_contar; $i++){ $imagens = $_FILES["imagens"]; $new_img = uniqid("img_", $imagens["name"][$i]); $extensao = pathinfo($_FILES["imagens"]["name"][$i], PATHINFO_EXTENSION); move_uploaded_file($imagens["tmp_name"][$i], "upload/".$new_img.".".$extensao); $array_img .= $new_img.".".$extensao.";"; } $insert = mysqli_query($conn, "INSERT INTO itens(codigo, model, nome, imagens, categoria, qnt, marca, preco) VALUES('".$cod."', '".$model."', '".$nome."', '".$array_img."', '".$cat."', '".$qnt."', '".$marca."', '".$preco."');"); if(!$insert){ echo "<center style='color:red' class='men'>O SQL retornou algum erro, tente novamente!</center>"; } else{ echo "<center style='color:green' class='men'>Produto cadastrado com exito!</center>"; } } else{ $insert = mysqli_query($conn, "INSERT INTO itens(codigo, model, nome, categoria, qnt, marca, preco) VALUES('".$cod."', '".$model."', '".$nome."', '".$cat."', '".$qnt."', '".$marca."', '".$preco."');"); if(!$insert){ echo "<center style='color:red' class='men'>O SQL retornou algum erro, tente novamente!</center>"; } else{ echo "<center style='color:green' class='men'>Produto cadastrado com exito!</center>"; } }  
    • Por abelvicente
      Ola,,,,
      estou tentando a PEGAR O CAMINHO DE ONDE VEM UM AQUIVO,
      porem consigo apenas o nome para o arquivo sobe,,, pasta UPLOADS no servidor,,,,,
      segue o código bem detalhado,, quem puder ajudar agradeço....

      <?php

      //recebe o nome do arquivo via $_FILES
      $arq = $_FILES['arquivo']['name'];

      //obtem o nome do arquivo que chegou
      $nome = $arq;

      //obtem dados do diretorio do aquivo
      //***AQUI É O PROBLEMA ISTO RETORNA APENAS UM PONTO
      $tt = dirname($arq);

      //MOSTRA O NOME DO AQUIVO
      echo "nome do arquivo: " . $nome . "<br>";

      //AQUI PODEM OBSERVAR QUE MOSTRA O PONTO RETORNADO
      echo "diretorio" . $tt . "<br>";

      //AQUI EU TENTO PEGAR OS DADOS DE ONDE VEIO O ARQUIVO
      //****POREM ELE RETORNA--->>/var/www/html/UPLOADS
      //***MAS ESTE ENDEREÇO ACIMA, É A PASTA ONDE O AQUIVO É TRAZIDO,,OU SEJA...
      //PARA ONDE ELE SOBE,,,, EU QRIA SABER O ENDEREÇO DE ONDE ELE VEM,, QUE SERIA ALGO DO TIPO...
      ///C:\Users\meuPC\Desktop\oficina\relatorios diarios <<<<---- AQUI POR FAVOR EU QRO ESTA INFORMAÇAO!!
      echo realpath($tt) . "<br>";

      ?>
      <form name="" method="post" action="mandavarios.php">
      <input class="button" type="submit" value="Cancelar/voltar"/>
      </form>
    • Por Takumi
      Pessoal recentemente um grupo de pessoas me chamou para que eu desenvolvesse um file host para que eles possam estar salvando seus arquivos. O projeto é meio grande mas vou pedir ajuda no mais básico. Eu tenho dúvidas sobre a questão do espaço fixo de upload de arquivos para cada usuário e sobre como eu faço para calcular esse espaço após o upload de um arquivo. Gostaria de saber se alguém pode me indicar um tutorial completo de como criar esse tipo de sistema ou me indicar pontos chaves para esse tipo de desenvolvimento. Obrigado.
×

Informação importante

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