Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

move_upload_file não funciona

$
0
0
Boa tarde,

Eu estou a tentar fazer o upload de uma imagem, mas está-me a dar problemas no 'move_upload_file'.

form.php
Código (HTML):
<form role="form" method="POST" enctype="multipart/form-data" action="/administrador/includes/projectValidations.php/'.$action.'">

[...]

<div class="form-group">
                   <label for="projectLogo">Logotipo</label>
                                                           
                   <input type="file" id="projectLogo" name="projectLogo" placeholder=""
                                                                           data-val="true" data-val-required="Deve escolher a imagem do projecto." />
                                                           
                    <p class="field-validation-valid" data-valmsg-for="projectLogo" data-valmsg-replace="true"></p>
</div>

projectValidations.php
Código (PHP):
if(isset($_POST['formValid']))
{
  $error = array();
  //Nome do Projecto
  if($_POST['projectNome']=='')
  {
   $error['nome']='Nome é obrigatório.';
  }
  else
   $nome=$_POST['projectNome'];

  //Website do Projecto
  if($_POST['projectUrl']=='')
  {
   $error['url']='URL é obrigatório.';
  }
  else
   $website=$_POST['projectUrl'];

  //Logo do Projecto
  include('uploadImage.php');
 
  if(count($error) != 0)
  {
   echo '<pre style="float:left; width:100%; margin-top:100px;">'.print_r($error, true).'</pre>';
  }
  else
  {
   echo '<pre style="float:left; width:100%; margin-top:100px;">YEAHH</pre>';
  }

uploadImage.php
Código (PHP):
if(isset($_FILES['projectLogo']['name']))
{
  /*
   Nome: $_FILES['nomeInput']['name'] (imagem1.jpg)
   Tipo: $_FILES['nomeInput']['type'] (image/jpeg)
   Nome Temporário: $_FILES['nomeInput']['tmp_name'] (/var/tmp/php6jqBHz)
   Tamanho: $_FILES['nomeInput']['size'] (1048576 Bytes - 1Mb)
  */
  $arquivo_tmp = $_FILES['projectLogo']['tmp_name'];
  $nome = $_FILES['projectLogo']['name'];
  $tamanho = $_FILES['projectLogo']['size'];
  $maxSize = '2097152'; //2Mb
  // Verificar extensão da imagem
  $extensao = strrchr($nome, '.');
  // Converte a extensão para minúsculo
  $extensao = strtolower($extensao);
  // Somente imagens, .jpg .jpeg .png
  // Separar extensões, pretendidas, por ';'
  if(strstr('.jpg;.jpeg;.gif;.png', $extensao))
  {
   // Criar um nome único para a imagem
   // Evitar imagens duplicadas no servidor.
   $novoNome = md5(microtime()) . $extensao;
   // Pasta para onde enviamos a imagem
   $destino = '/administrador/images/projects/' . $novoNome;
   if($tamanho <= $maxSize )
   {
    // Run the move_uploaded_file() function here
    $moveResult = @move_uploaded_file($arquivo_tmp, $destino);
   
    if ($moveResult == true)
    {
         echo "File has been moved from " . $arquivo_tmp . " to" . $destino;
         die;
    }
    else
    {
         echo $error['logo']='Erro ao salvar o arquivo. Verifique as permissões de escrita.';
    }
   
    die;
   }
   else
    $error['logo']='Tamanho máximo é de 2Mb.';
  }
}
else
{
  // $error - Array de validação do ficheiro '/administrador/includes/projectValidations.php'
  $error['logo']='A imagem é obrigatória.';
}

O erro que me está a dar é o : "Erro ao salvar o arquivo. Verifique as permissões de escrita."

Viewing all articles
Browse latest Browse all 14700