Ir para conteúdo

POWERED BY:

Arquivado

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

enmelo

Após upload enviado com sucesso foto não aparece e

Recommended Posts

Olá Amigos!

 

http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Eu segui religiosamente passo à passo o tutorial publicado pelo Leandro Vieira aqui no Imasters, pesquisei insistentemente em outros tópicos e não achei solução para este problema:

 

O upload é realizado "sem problemas", as informações saõ inseridas com sucesso no banco de dados, porém não consigo localizar a foto enviada após o upload em diretório algum!

 

Tenho instalado no micro o IIS + PHP 5.1.2 + MYSQL 5.0 + PHPMyAdmin 2.8.0.2 e tudo funciona perfeitamente. Já concedi as devidas permissões de escrita na pasta raiz e verifiquei as permissõs de NTFS no Windows XP. Tudo Ok!

 

Será que estou fazendo alguma "káka"

 

Por favor me ajudem!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Fagner! (estou desconfiando que o erro é na linha 59 em vermelho)

 

Segue:

 

<?php require_once('Connections/Mysql.php'); ?>

<?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

 

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

 

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

 

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$arquivo = $_FILES["foto"];

$arquivo_nome = $arquivo["name"];

 

 

$insertSQL = sprintf("INSERT INTO upload (titulo, texto, foto) VALUES (%s, %s, '$arquivo_nome')",

GetSQLValueString($_POST["titulo"], "text"),

GetSQLValueString($_POST["texto"], "text"));

 

 

mysql_select_db($database_Mysql, $Mysql);

$Result1 = mysql_query($insertSQL, $Mysql) or die(mysql_error());

 

$insertGoTo = "confirma2.htm";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

 

set_time_limit(0);

$diretorio = "arquivos";

$id_arquivo = "foto";

$nome_arquivo = $_FILES[$id_arquivo]["name"];

$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];

move_uploaded_file($arquivo_temporario, "$localhost/site/upload/$nome_arquivo");

 

}

 

?>

 

<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1">

<table align="center">

<tr valign="baseline">

<td nowrap align="right">Titulo:</td>

<td><input type="text" name="titulo" value="" size="32"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right">Texto:</td>

<td><input type="text" name="texto" value="" size="32"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right">Foto:</td>

<td><input name="foto" type="file" size="32"></td>

</tr>

<tr valign="baseline">

<td nowrap align="right"> </td>

<td><input type="submit" value="Insert record"></td>

</tr>

</table>

<input type="hidden" name="MM_insert" value="form1">

</form>

<p> </p>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí enmelo... beleza...

 

Acho q vai ajudar, não testei...

 

É o seu código só alterei algumas coisas, estão comentadas... Ok...

 

Cole e teste, qquer coisa post... beleza...

 

T+

 

<?php require_once('Connections/Mysql.php'); ?><?phpfunction GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {	$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;	switch ($theType)	{		case "text":		$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";		break; 		case "long":		case "int":		$theValue = ($theValue != "") ? intval($theValue) : "NULL";		break;		case "double":		$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";		break;		case "date":		$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";		break;		case "defined":		$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;		break;	}	return $theValue;}$editFormAction = $_SERVER['PHP_SELF'];if (isset($_SERVER['QUERY_STRING'])){	$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);}if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")){	$arquivo = $_FILES["foto"];	$arquivo_nome = $_FILES["foto"]["name"];		set_time_limit(0);	// Pegunta...	// Esta pasta já existe (ARQUIVOS) ...???	$diretorio = "arquivos";	$id_arquivo = "foto";	$nome_arquivo = $_FILES[$id_arquivo]["name"];	$arquivo_temporario = $_FILES[$id_arquivo]["tmp_name"];		// Move a foto para a pasta...	$Vai = $diretorio . $nome_arquivo;		####################################################################################	// Erro: no endereço para onde a imagem será movida	// Original...	// move_uploaded_file($arquivo_temporario, "$localhost/site/upload/$nome_arquivo");	// Modificado...	move_uploaded_file($arquivo_temporario, $Vai);		// Aqui você grava o Caminho da Imagem no BD... Ok...	// Original...	// $insertSQL = sprintf("INSERT INTO upload (titulo, texto, foto) VALUES (%s, %s, '$arquivo_nome')",	// Modificado...	$insertSQL = sprintf("INSERT INTO upload (titulo, texto, foto) VALUES (%s, %s, ". $Vai .")",	GetSQLValueString($_POST["titulo"], "text"),	GetSQLValueString($_POST["texto"], "text"));			mysql_select_db($database_Mysql, $Mysql);	$Result1 = mysql_query($insertSQL, $Mysql) or die(mysql_error());		$insertGoTo = "confirma2.htm";	if (isset($_SERVER['QUERY_STRING']))	{		$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";		$insertGoTo .= $_SERVER['QUERY_STRING'];	}	header(sprintf("Location: %s", $insertGoTo));}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

...bom Alexandre, obrigado pela ajuda cara! É o seguinte, copiei e colei o código que você mandou e ele dá o seguinte erro:

 

Warning: move_uploaded_file(arquivosusuarios.txt) [function.move-uploaded-file]: failed to open stream: Permission denied in c:\Inetpub\wwwroot\Site\upload.php on line 55

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\uploadtemp\phpD.tmp' to 'arquivosusuarios.txt' in c:\Inetpub\wwwroot\Site\upload.php on line 55

Unknown column 'arquivosusuarios.txt' in 'field list'

Derepente não seria o caso de dar aquela permissão CHMOD 777 ?

 

Valeu Fera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ESTOU INDIGNADO!!!

 

Com respeito às pessoas que contribuem com respostas para as dúvidas de colegas iniciantes, como eu, faço aqui um descontente comentário sobre o fórum:

 

A impressão que tenho deste fórum é que para se conseguir sanar uma dúvida você tem que ser tão bom ou melhor que os caras que te respondem. Uma coisa desagradável que acontece aqui no fórum do Imaster é que tem ALGUNS caras que são realmente muito bons mas que não são nada humildes, logo a razão do fórum existir, que é COMPARTILHAR CONHECIMENTO cai por terra. Se aqui tem um tópico com o título "por favor me ajudem", ninguém responde. Se tem um como "Dúvida em SQL" , se for mulher com um nome tipo "Sara Sarada" então recebe 756 respostas, mas se for o mesmo tópico com um nome tipo "Ricardo desenvolvedor" recebe no máximo três respostas sendo duas críticas.

 

Outra coisa inconcebível é que aqui não há liberdade de expressão. Eu, por exemplo, certamente serei banido por expressar essa opinião ou este post será deletado. Isso é um modelo claro de AUTORITARISMO EXPLÍCITO NUMA INTERNET DEMOCRATIZADA!!!

 

Um fórum como esse logicamante tem que ser moderado, mas não militarizado!!!

 

 

MODERADORES, VAMOS REVER ESSES CONCEITOS!!!

 

.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá tmferreira,

 

Obrigado por se posicionar tão breve (o que não acontece com os tópicos de ajuda).

 

Desculpe desapontá-lo, mas a minha crítica não foi direcionada a você nem ao membros do fórum e sim ao modelo implementado pelo Imaster. Sendo você moderador entendo que tenha ficado chateado. Não vamos abrir aqui uma linha de discussão banal, até porque o fórum não é para isso! Reconheço que não tenho ciência dos termos de uso do fórum e não conheço todos os membros participantes.

 

Quanto à ser observador eu ainda não faço idéia do que seja CHMOD 777.

 

Sem mais.

 

Elton Melo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois então, não sei o pq da revolta, mas se foi por causa da edição do titulo do tópico, quero dizer que isso consta claramente nas regras do fórum, que, se não me engano, são mostradas inclusive na hora do cadastro do fórum e que você DEVE ler antes de apertar o botão "Eu concordo". Pode ter certeza que não fazemos isso pra encher o saco dos membros, tudo tem um motivo.Você acha que se alguém tivesse a mesma dúvida e fosse fazer uma pesquisa no fórum pra tentar sana-la, ele iria conseguir encontrar o teu tópico estando com o titulo anterior? Pense nisso.Em relação à dúvida, nessa parte do código você usa uma variável:

move_uploaded_file($arquivo_temporario, "$localhost/site/upload/$nome_arquivo");

...$localhost que não é definida em local algum do script, acredito que você queira fazer:

move_uploaded_file($arquivo_temporario, "http://localhost/site/upload/$nome_arquivo");

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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