Jump to content
Gzaiia

Probleminha com move_uploaded_file

Recommended Posts

Pessoinhas, estou tendo um probleminha com logica, estou tentando fazer um upload multiplo de imagens com nomes variados de imagens e queria salvá-as depois os nomes das imagens no banco de dados com as seguintes informações: 

id, Nome da imagem, id da casa

Porém está ocorrendo um erro ao realizar upload 

Parse error: syntax error, unexpected ',' in adm\gravar.php on line 16

Se puderem me ajudar.

Obs: Sou meio novato na área, então tenham paciência suahsuha.

<?php 
session_start();
include('config/config.php'); 
$idcasa = $_SESSION["idcasa"];
$banner = 1;
$diretorio = "fotos/";
if(!is_dir($diretorio)) {
	echo "Pasta $diretorio nao existe";
}else{
	$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
	for ($controle = 0; $controle < count($arquivo['name']); $controle++){
		$aleatorio = rand(5, 10);
		$valor = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz0123456789"), 0, $aleatorio);
		
		$novonome = $valor.'.jpg';
		$destino = $diretorio."/".$arquivo['name'][$controle]. $nomefinal;
		if(move_uploaded_file([$controle], $destino)){
			echo "Upload realizado com sucesso <br>";
			$sql = mysqli_query("insert into fotos (id, nome, idcasa) values ('', '$novonome', '$idcasa')")
		}else{
			echo "Erro ao realizar upload! <br>";
		}
		
	}
}
?>

 

Share this post


Link to post
Share on other sites
29 minutos atrás, Gleyson Abreu disse:

Você esqueceu do ponto-e-virgula; no final dessa query.

 

Verdade, porém ainda persiste o erro, eu creio que seja em uma dessas duas linhas

$destino = $diretorio."/".$arquivo['name'][$controle]. $nomefinal;
		if(move_uploaded_file([$controle], $destino)){

 

Share this post


Link to post
Share on other sites
<?php 
session_start();
include('config/config.php'); 
$idcasa = $_SESSION["idcasa"];
$banner = 1;
$diretorio = "fotos";
if(!is_dir($diretorio)) {
	echo "Pasta $diretorio nao existe";
}else{
		$arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
		for ($controle = 0; $controle < count($arquivo['tmp_name']); $controle++){
		$aleatorio = rand(5, 10);
		$valor = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz0123456789"), 0, $aleatorio);
		$novonome = $valor.'.jpg';
		$destino = $diretorio."/".$novonome;
		if(move_uploaded_file($arquivo['tmp_name'][$controle], $destino)){
			echo "Upload realizado com sucesso <br>";
			$sql = mysqli_query("insert into fotos (id, nome, idcasa) values ('', '$novonome', '$idcasa')");
		}else{
			echo "<br>Error ao enviar a imagem: ".$destino;
		}
		
	}
}
?>

 

Share this post


Link to post
Share on other sites

Eu arrumei alguns erros, porém não obtive resultados

Segue o código atualizado:

<?php
error_reporting(E_ALL);
 
include('conexao.php');
$idcasa = 1;
$banner = 1;
$diretorio = "fotos";
if(!is_dir($diretorio)) {
    echo "Pasta $diretorio nao existe";
}else{
    $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
    for ($controle = 0; $controle < count($arquivo['name']); $controle++){
        $aleatorio = rand(5, 10);
        $valor = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz0123456789"), 0, $aleatorio);
       
        $novonome = $valor.'.jpg';
        $destino = $diretorio."/".$arquivo['name'][$controle]. $novonome;
        if(move_uploaded_file([$controle], $destino)){
            echo "Upload realizado com sucesso <br>";
            $sql = mysqli_query("insert into fotos (id, nome, idcasa) values (NULL, '$novonome', '$idcasa')");
        }else{
            echo "Erro ao realizar upload! <br>";
        }
       
    }
}
?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By avelar.avelar
      Turma esta dando erro neste item em negritom, estou tentando , pegar um pdf que esta convertido em base64 e mandando ele gerar o arquivo e gravar numa pasta determinada com um nome, alguem poderias me ajudar? urgente.  Ovbrigado
       
       
      TrablheController.php
       
      public function post(Request $request)
          {
              $rules = [
                  'nome' => 'required|string',
                  'data_nascimento' => 'required|date',
                  'email' => 'required|string',
                  'cpf' => 'required|string',
                  'curriculo' => ['required','mime:/application\/(?:docx||pdf\+xml);base64,.+/'],
              ];
       
              $validator = Validator::make(request()->json()->all(), $rules);
       
              if ($validator->fails()) {
                  return response()->json($validator->errors()->toArray(), 422);
              }
       
              $vagas = Vagas::select('id')->firstOrFail();
       
              $data = $request->json()->all();
       
              $fileB64 = isset($data['curriculo']) ? $data['curriculo'] : false;

              unset($data['curriculo']);
       
              $trabalheconosco = new TrabalheConosco;
       
              foreach (array_keys($rules) as $key) {
                  if (array_key_exists($key, $data)) {
                      $trabalheconosco->{$key} = $data[$key];
                  }
              }
              $trabalheconosco->save();
       
              if ($fileB64) {
                  $trabalheconosco->curriculo = $this->saveFileB64($fileB64, 'images/curriculos', $trabalheconosco->id);
                  $trabalheconosco->save();
              }
       
              $vagas->TrabalheConosco()->save($trabalheconosco);
       
              return response()->json(['data' => $trabalheconosco->toArray()], 201);
          }
       
      Controller.php

          public function saveFileB64($fileB64, $path = '', $id = null): string
          {
              $chunkf = explode(';base64,', $fileB64, 2);
              $chunkf[0] = str_replace('data:', '', $chunkf[0]);
              if (!isset(self::MIMES[$chunkf[0]], $chunkf[1])) {
                  return null;
              }
              $extension = self::MIMES[$chunkf[0]];
              $fileBin = base64_decode($chunkf[1]);
              $time = time();
              $pathName = null;
              do {
                  $pathName = "$path/{$id}_{$time}_"
                      . abs(crc32(uniqid('f', true))) . $extension;
              } while ($this->storage->exists($pathName));
              $this->storage->put(file_put_contents($pathName, $fileBin));
              return $pathName;
          }
       
      ERROR NO INSOMNIA ( 500 INTERNAL SERVER ERROR)
    • By FabianoSouza
      Pessoal, estou garimpando alguns códigos para fazer upload sem necessidade de componente.
      Notei que em todos esses códigos ocorre um problema: truncamento de caracteres acentuados.
       
      Já pesquisei muito em busca da solução.
      Geralmente sugerem para colocar esse código no topo da página
      Response.AddHeader "Content-Type", "text/html;charset=UTF-8" 'caractéres em PT-BR Response.ContentType = "text/html" Response.CharSet = "UTF-8" Já fiz isso...mas não resolveu.
       
      Alguém pode ajudar?
       
      Grato.
    • By GiovannaRamos
      Olá pessoal,  gostaria de adicionar outra função ao meu botão 'Finalizar10()' ,  por enquanto ele faz a exportação dos dados da minha 'tabela' para um Excel e salva na pasta downloads do meu computador,  alguém sabe se teria alguma forma fazer esse arquivo gerado (Excel) ao invés de  fazer download, fazer o upload no caminho do meu servidor?
      function Finalizar10() { $(document).ready(function Finalizar() { $("#btnExport").click(function exportar (e) { e.preventDefault(); var blobData = new Blob(['\ufeff'+tabela], { type: 'application/vnd.ms-excel' }); var url = window.URL.createObjectURL(blobData); var a = document.createElement('a'); a.href = url; a.download = codigo; a.click(); }); }); }  
    • By merlinus
      Saudações, tive recentemente a troca de servidor, no novo servidor um script para envios de arquivos parou de funcioar para arquivos maiores de 1M (acho)
      Consigo enviar um arquivo de 130k tranquilamente, qdo envio de 1.5M dá o sequinte erro:
       
      estou com as seguintes configurações do php.ini (confirmei usando phpinfo)
      memory_limit: 128M
      post_max_size: 8M
      upload_max_filesize: 10M
       
      Alguma ideia de que configuração pode estar dando erro?
    • By jmggames
      boa noite, estou com um script de upload de imagens, que após fazer o upload, ele finaliza com uma miniatura da imagem que acabou de ser enviada.
      porem alem de mostrar a miniatura da imagem, eu gostaria que mostrasse também um link gerado do upload da imagem, para que a pessoa que fez o upload, pegue o link e guarde para poder chegar ate a imagem futuramente.
      eu gostaria que o link fosse gerado logo após a mensagem "imagem enviada com sucesso!"  alguém pode me ajudar?
      script do site:
       
      <html>
      <head>
       <title>Upload de imagens</title>
       <meta charset="utf-8">
       <meta name="viewport" content="width=device-width, initial-scale=1">
       <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
       <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
       <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
      </head>
      <body>
      <div class="container">
      <h2><strong>Envio de imagens</strong></h2><hr>
      <form method="POST" enctype="multipart/form-data">
        <label for="conteudo">Enviar imagem:</label>
        <input type="file" name="pic" accept="image/*" class="form-control">
        <div align="center">
          <button type="submit" class="btn btn-success">Enviar imagem</button>
        </div>
      </form>
       
       <hr>
       
       <?php
       if(isset($_FILES['pic']))
       {
          $ext = strtolower(substr($_FILES['pic']['name'],-4)); //Pegando extensão do arquivo
          $new_name = date("Y.m.d-H.i.s") . $ext; //Definindo um novo nome para o arquivo
          $dir = './imagens/'; //Diretório para uploads
       
          move_uploaded_file($_FILES['pic']['tmp_name'], $dir.$new_name); //Fazer upload do arquivo
          echo '<div class="alert alert-success" role="alert" align="center">
                <img src="./imagens/' . $new_name . '" class="img img-responsive img-thumbnail" width="200"> 
                <br>
                Imagem enviada com sucesso!
                <br>
                <a href="exemplo_upload_de_imagens.php">
                <button class="btn btn-default">Enviar nova imagem</button>
                </a></div>';
       } ?>
      </div>
      <body>
      </html>
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.