Pitanga Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 echo "Relatório de Envio de $tópico<br>"; # Define parametros de arquivo if(!isset($arquivo) || $arquivo == "none") $arquivo = ""; if($arquivo != ""){ $arquivo = str_replace("\\\\", "/", $arquivo); $arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); if (!$arquivo){ echo "<p>Erro na abertura do ficheiro de Arquivo.\n"; exit; } } #Define data $data = date('Y-m-d'); # Insere produto a Base de Dados $sql = "INSERT INTO produtos (data, idioma, tópico, subtopico, arquivo, arquivo_name, arquivo_type, arquivo_size, titulo, texto, activo) VALUES ('$data', '$idioma', '$tópico', '$subtopico', '$arquivo', '$arquivo_name', '$arquivo_type', '$arquivo_size', '$titulo', '$texto', 'sim')"; $result = mysql_query($sql) or die ('Não foi possível executar a operação. ' .mysql_error()); if($result) echo "Operação executada com sucesso"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Tenta assim:<?include "sua pagina de config.php"; // você ta esquecendo do bancoforeach ($_POST as $campo => $valor) { $$campo = $valor; }$arquivo = $_FILES['arquivo'];//se tiver fazendo o uploadecho "Relatório de Envio de $tópico<br>";# Define parametros de arquivoif(!isset($arquivo) || $arquivo == "none") $arquivo = "";if($arquivo != ""){ $arquivo = str_replace("\\\\", "/", $arquivo); $arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); if (!$arquivo){ echo "<p>Erro na abertura do ficheiro de Arquivo.\n"; exit; }}# Insere produto a Base de Dados$sql = "INSERT INTO produtos VALUES (now(), '$idioma', '$tópico', '$subtopico', '$arquivo', '$arquivo_name', '$arquivo_type', '$arquivo_size', '$titulo', '$texto', 'sim')";$result = mysql_query($sql) or die ('Não foi possível executar a operação. ' .mysql_error()); if($result) echo "Operação executada com sucesso"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 isso já tem...include "sua pagina de config.php"; // você ta esquecendo do banco pra que serve isso? isso não tem foreach ($_POST as $campo => $valor) { $$campo = $valor; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 olha de novo eu editei e na proxima procura mandar o script completo porque a gente não é advinho dai fica dificil saber onde você esta errado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 Desculpa achei que fosse lógico que se eu estou fazendo um selec que tenha a coneccao com a base de dados.... Se eu fosse postar td o codigo ficava mais difícil de descobrir onde esta o erro."Cada pessoa com seu domCada pessoa com seu talentoo importante não é saber tudoe sim nunca perder a capacidade de aprender" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 isso já tem...include "sua pagina de config.php"; // você ta esquecendo do banco pra que serve isso? isso não tem foreach ($_POST as $campo => $valor) { $$campo = $valor; } Essa função cria as variaveis com o nome dos camposexemplo se você tem 10 campos tipo: nome,end, cidade,idade,etc..em vez de você ficar fazendo assim: $nome = $_POST['nome'];$end = _POST['end'];dai você usa essa função que pega todos os campos e já cria a variavel com o nomedo campoforeach ($_POST as $campo => $valor) { $$campo = $valor; } muito mais praticose usar metodo GET só mudar pra GET Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 você deve ter aprendido a fazer do modo antigo quando usavam o register Globals em onmas no php 4 ele fica em off , eu postei hj um tópico sobre isso da uma lidano tópico :Principais Duvidas De Iniciantes Usando Register Globals Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 Valeu vou ler sim, mas não é nisso que está dando o erro....Talvéz seja na hora da leitura...o que eu tenho é criado um arquivo corrupto na minha base de dados....o codigo para abrir é o seguinte: echo "<div align='center'><img src='getArquivos.php?idConteudo=$idConteudo' border=0><br>"; getArquivo.php $result = mysql_db_query("pastorinhos", "SELECT * FROM produtos WHERE idConteudo = '$idConteudo'"); $arquivo_name = mysql_result($result, 0, "arquivo_name"); $extensao = substr($arquivo_name, -3, 3); $arquivo = mysql_result($result, 0, "arquivo"); $arquivo_type = mysql_result($result, 0, "arquivo_type"); $arquivo_size = mysql_result($result, 0, "arquivo_size"); header("Content-type: application/$extensao"); header("Content-Disposition: attachment; filename=$arquivo_name"); echo $arquivo; e todos tem a coneccao com a base de dados... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Me fala que erro que ta dando e a linha? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 Não dá erro, simplesmente eu crio em minha base de dados um arquivo corrupto!http://www.pastorinhos.com/projecto/?id=Leitura Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Explica o que é esse seu arquivo? ele vem de um upload? é uma imagem ou um texto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Só uma dica se você tiver usando o banco pra guardar arquivos ,não faça issouseo o banco só pra guardar o nome do arquivo com o path delemas o arquivo você guarda numa pasta Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 Envio o arquivo para a base de dados através de um formulario com o retorno desse código...echo "Relatório de Envio de $tópico<br>"; # Define parametros de arquivo if(!isset($arquivo) || $arquivo == "none") $arquivo = ""; if($arquivo != ""){ $arquivo = str_replace("\\\\", "/", $arquivo); $arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); if (!$arquivo){ echo "<p>Erro na abertura do ficheiro de Arquivo.\n"; exit; } } # Insere produto a Base de Dados $sql = "INSERT INTO produtos VALUES (now(), '$idioma', '$tópico', '$subtopico', '$arquivo', '$arquivo_name', '$arquivo_type', '$arquivo_size', '$titulo', '$texto', 'sim')"; $result = mysql_query($sql) or die ('Não foi possível executar a operação. ' .mysql_error()); if($result) echo "Operação executada com sucesso"; e vou buscar através de um link (código abaixo) echo "<div align='center'><img src='getArquivos.phpidConteudo=$idConteudo' border=0><br>"; getArquivos.php $result = mysql_db_query("pastorinhos", "SELECT * FROM produtos WHERE idConteudo = '$idConteudo'"); $arquivo_name = mysql_result($result, 0, "arquivo_name"); $extensao = substr($arquivo_name, -3, 3); $arquivo = mysql_result($result, 0, "arquivo"); $arquivo_type = mysql_result($result, 0, "arquivo_type"); $arquivo_size = mysql_result($result, 0, "arquivo_size"); header("Content-type: application/$extensao"); header("Content-Disposition: attachment; filename=$arquivo_name"); echo $arquivo; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 Não sei outra maneira de fazer, e também não cosigo ver o que está errado...Basicamente é isso, ficaria muito agradecida se alguém conseguisse ver o erro, porque já bati tanto nesse código que já não consigo ver erro algum.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Tenta não gravar no banco o arquivo mas grava no banco só o nome do arquivoe vamo resolver o seu problema , fala o que você quer fazer dai fica mais facilesqueça o codigo o codigo é gerado apartir do que você quer me fala como você quer que acontece ai no seu script Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pitanga Postado Abril 29, 2004 Autor Denunciar Share Postado Abril 29, 2004 E gravar o arquivo em uma pasta no servidor?Já tive problemas qt a permissoes de escrita no servidor... Sinceramente, você ve alguma coisa de errada no codigo?O que eu quero é inserir arquivos na base de dados para as pessoas fazerem downloads...Tenho que ir a loja ta fechando.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Abril 29, 2004 Denunciar Share Postado Abril 29, 2004 Tenta fazer do jeito certo cara se ta dando erro tenta arrumar é melhoro erro deve estar ai você ta pegando um arquivo e querendo gravar num campo do bancopor isso que o arquivo da erro, o jeito certo é ficarem os arquivos numa pasta mesmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Pitanga
Link para o comentário
Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.