Hi,
I'm trying to upload an image but ir gives me error on 'move_upload_file'.
Warning: move_uploaded_file(http://localhost/administrador/images/projects/54031d9e94d63a24dba816ddacbf315e.jpg): failed to open stream: HTTP wrapper does not support writeable connections in C:\wamp\www\administrador\includes\uploadImage.php on line 38
Warning: move_uploaded_file(): Unable to move 'C:\wamp\tmp\php5E59.tmp' to 'http://localhost/administrador/images/projects/54031d9e94d63a24dba816ddacbf315e.jpg' in C:\wamp\www\administrador\includes\uploadImage.php on line 38
This is my code:
form.php
<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
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>';
}
die;
uploadImage.php
<?php
define ('SITE_ROOT', realpath(dirname(__FILE__)));
echo '<pre style="float:left; width:100%; margin-top:100px;">';
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;
$destino = SITE_ROOT.$destino;
if($tamanho <= $maxSize )
{
if (move_uploaded_file($arquivo_tmp, $destino) == true)
{
echo "File has been moved from " . $arquivo_tmp . " to" . $destino;
die;
}
else
{
echo $error['logo']='Erro ao salvar o arquivo.';
}
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.';
}
echo '</pre>';
?>