Jump to content
alexmestre

upload de imagens

Recommended Posts

alexmestre

Olá boa noite

eu estou a tentar criar um sistema de upload de imagens

mas não estou a conseguir desenvolver

registo_filmes.php

            <form action="func_registar_filmes.php" method="post" enctype="multipart/form-data">
            	
                	<fieldset>
                    
                    	<legend>Registo de filmes</legend>


                        <label>
                        <span>Titulo</span>
                        <input type="text" name="titulo" id="titulo" />
                    	</label>
                         
                      <label>
                        <span>Genero</span>
					<input name="genero" id="genero" type="text" />                  
                      </label>

                        
                         <label>
                      <span>Sinopse</span>
                      <textarea name="sinopse" cols="32" rows="7" id="sinopse"></textarea>
                      </label>
                        
                        <label>
                        <span>Ano de Lançamento</span>
                        <input name="ano" type="text" id="ano" maxlength="4" />
                      </label>
                        
                        <label>
                        <span>link</span>
                        <input type="text" name="link" id="link" width="200" /><a href="http://www.4shared.com" target="_blank">Hospede aqui</a>
                        </label>
                        
                      <label>
                      <span>Imagem</span>
                      <input name="arquivo"  type="file" />
                    </label>
                       
                       
                        <input type="hidden" name="enviar" value="Enviar" />
                        <input type="submit" name="enviar" class="send" />
                        
                        
                    </fieldset>
                    
            </form>











func_registar_filmes.php

<?php

//conexao com a base de dados 
$servidor = "***";
$basedados = "***";
$utilizador = "***";
$password = "***";
$ligacao = mysql_connect($servidor, $utilizador, $password)or die("ERROR: cannot connect"); 
    mysql_select_db($basedados, $ligacao) or die ("ERRO: CANNOT SELECT DB");



//lista de tipos de arquivos permidos
$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
//tamanho maximo
$tamanhoPermitido = 1024 * 500;

//criando variaveis e guardando os dados peenchidos no formulario

//titulo do filme 
$titulo = $_POST['titulo'];
//genero do filme
$genero = $_POST['genero'];
//sinopse do filme
$sinopse = $_POST['sinopse'];
//ano de lançamento do filme
$ano = $_POST['ano'];
//link para download do filme
$link = $_POST['link'];


$nome = $_POST['nome'];


//o nome original do arquivo no computador do utilizador
$arqName = $_FILES['arquivo']['name'];
//o tipo mime do arquivo 
$arqType = $_FILES['arquivo']['type'];
//o tamanho do arquivo
$arqSize = $_FILES['arquivo']['size'];
//o nome temporario do arquivo com que foi guardado no servidor 
$arqTemp = $_FILES['arquivo']['tmp_name'];
//o codigo de erro associado a este upload de arquivo
$arqError = $_FILES['arquivo']['error'];



if ($arqError == 0){
	//verifica o tipo de arquivo enviado
	if(array_search($arqType, $tiposPermitidos) === false){
		echo 'O tipo de arquivo enviado é invalido!';
		//verifica o tamanho do arquivo enviado
	}else if ($arqSize > $tamanhoPermitido){
		echo 'o tamanho do arquivo enviado e maior que o limite!';
		//nao houverao erros, move o arquivo
	}else{
		$pasta = '/uploads/';
		//pega a extensao do arquivo enviado
		$extensao = strtolower(end(explode('.',$arqName)))
		//define o nome do arquivo usando um Unix TimesTamp
		$nome = time(). '.' . $extensao;

		//muda os caracteres protegidos do MySql 
		$nomeMySql = mysql_real_escape_string($_POST['titulo']);

		$upload = move_uploaded_file($arqTemp, $pasta . $nome);

		//verifica se o arquivo foi movido com sucesso
		if ($upload == true){
			//cria uma query Mysql
			$sql = "INSERT INTO 'filmes' ('titulo', 'genero', 'sinopse', 'ano', 'link', 'imagem') VALUES ('". $nomeMySql ."', '$genero', '$sinopse', '$ano', '$link', '". $nome . "')";
			$query == mysql_query($sql);

			if($query == true){
				echo 'Filme inserido com sucesso!';
			}
		}
	}
}else{
	echo 'Ocorreu algum erro com o upload, por favor tente novamente';

}
?>

e está a dar me este erro

Parse error: syntax error, unexpected T_VARIABLE in #func_registar_filmes.php on line 61

como é que o posso resolver??

necessito de ajuda =(

é para a minha PAP

linha 61 -        $nome = time(). '.' . $extensao;

Share this post


Link to post
Share on other sites
alexmestre

era isso :)

agora está a dar me outro erro

Warning: move_uploaded_file(/uploads/1299963057.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in ***func_registar_filmes.php on line 66

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpYA8cxL' to '/uploads/1299963057.png' in ***func_registar_filmes.php on line 66

Share this post


Link to post
Share on other sites
alexmestre

mas eu tenho a pasta

já experimentei tirar a barra antes do nome da pasta

pois esta encontra-se no mesmo directório

e agora o que me acontece é que a pagina aparece em branco sem erro nenhum

e  sem echo nenhum

Share this post


Link to post
Share on other sites
alexmestre

e meto o if em que parte

desculpe é que é a primeira vez que crio um tópico

Share this post


Link to post
Share on other sites
alexmestre

$pasta = realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR.'uploads/';

isto é o que??

eu sou iniciante em php

portanto desculpe a minha ignorância

Share this post


Link to post
Share on other sites
alexmestre

continua me a aparecer a pagina em branco

mas agora fui ao codigo fonte

e aparece apenas 1 linha no qual diz

O tipo de arquivo enviado é invalido!

Share this post


Link to post
Share on other sites
brunoais

e o que é que está na variável:

$_FILES['arquivo']['type']

?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

eu refiro-me ao valor. O que é que aparece no source code da página (quando a pedes ao browser) se fizeres:

var_dump($_FILES['arquivo'])

?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
alexmestre

e meto isso aonde

desculpe mas sou novato em php

e nao entendo muito bem

Share this post


Link to post
Share on other sites
brunoais

func_registar_filmes.php

pode ser na 2ª linha.

Depois preciso que vejas o output da página (o source code da página) nessa parte. Nota: Irá aparecer no inicio da página.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
alexmestre

olá boa tarde desculpa esta demora

mas estive a tentar resolver esse problema com um professor que entendia mais ou menos disto

e na verdade conseguiu resolver em parte

pois agora já faz o upload para a pasta do servidor  :)

agora o problema é guardar o nome desta imagem

e apos fazer as verificações enviar la para outra pagina

<?php

//conexao com a base de dados 
$servidor = "localhost";
$basedados = "***";
$utilizador = "***";
$password = "***";
$ligacao = mysql_connect($servidor, $utilizador, $password)or die("ERROR: cannot connect"); 
    mysql_select_db($basedados, $ligacao) or die ("ERRO: CANNOT SELECT DB");



//lista de tipos de arquivos permidos
$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
//tamanho maximo
$tamanhoPermitido = 1024 * 500;

//criando variaveis e guardando os dados peenchidos no formulario

//titulo do filme 
$titulo = $_POST['titulo'];
//genero do filme
$genero = $_POST['genero'];
//sinopse do filme
$sinopse = $_POST['sinopse'];
//ano de lançamento do filme
$ano = $_POST['ano'];
//link para download do filme
$link = $_POST['link'];


$nome = $_POST['nome'];


//o nome original do arquivo no computador do utilizador
$arqName = $_FILES['arquivo']['name'];
//o tipo mime do arquivo 
$arqType = $_FILES['arquivo']['type'];
//o tamanho do arquivo
$arqSize = $_FILES['arquivo']['size'];
//o nome temporario do arquivo com que foi guardado no servidor 
$arqTemp = $_FILES['arquivo']['tmp_name'];
//o codigo de erro associado a este upload de arquivo
$arqError = $_FILES['arquivo']['error'];

print_r($_FILES);

if ($arqError == 0){
	//verifica o tipo de arquivo enviado
	if(array_search($arqType, $tiposPermitidos) === false){
		echo 'O tipo de arquivo enviado é invalido!';
		//verifica o tamanho do arquivo enviado
	}else if ($arqSize > $tamanhoPermitido){
		echo 'o tamanho do arquivo enviado e maior que o limite!';
		//nao houverao erros, move o arquivo
	}else{

		$pasta = 'uploads/';


		//pega a extensao do arquivo enviado
		$extensao = strtolower(end(explode('.',$arqName)));
		//define o nome do arquivo usando um Unix TimesTamp
		$nome = time(). '.' . $extensao;

		//muda os caracteres protegidos do MySql 
		$nomeMySql = mysql_real_escape_string($_POST['titulo']);

		$upload = move_uploaded_file($arqTemp, $pasta . $nome);

		//verifica se o arquivo foi movido com sucesso
		if ($upload === true){
			//cria uma query Mysql
			$sql = "INSERT INTO 'filmes' ('titulo', 'genero', 'sinopse', 'ano', 'link', 'imagem') VALUES ('titulo', '$genero', '$sinopse', '$ano', '$link', '". $nome . "')";
			$query == mysql_query($sql);

			if($query === true){
				echo 'Filme inserido com sucesso!';
				include ("visualiza_filmes_admin.php");
			}
		}
	}
}else{
	echo 'Ocorreu algum erro com o upload, por favor tente novamente';
	include ("registo_filmes.php");
}
?>

no ecrã após o upload vai para uma pagina em branco

com esta informação

Array ( [arquivo] => Array ( [name] => image.png [type] => image/png [tmp_name] => /tmp/phpphVIGW [error] => 0 => 100001 ) )

no codigo fonte aparece isto

Array

(

)

O tipo de arquivo enviado é invalido!

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

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.