Ir para conteúdo
Fórum Script Brasil
  • 0

Inserir Arquivo


Pitanga

Pergunta

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";

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

<?

include "sua pagina de config.php"; // você ta esquecendo do banco

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

$arquivo = $_FILES['arquivo'];//se tiver fazendo o upload

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";

  

?>

Link para o comentário
Compartilhar em outros sites

  • 0

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 dom

Cada pessoa com seu talento

o importante não é saber tudo

e sim nunca perder a capacidade de aprender"

Link para o comentário
Compartilhar em outros sites

  • 0

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 campos

exemplo 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 nome

do campo

foreach ($_POST as $campo => $valor) { $$campo = $valor; }

muito mais pratico

se usar metodo GET só mudar pra GET

Link para o comentário
Compartilhar em outros sites

  • 0

você deve ter aprendido a fazer do modo antigo quando usavam o register Globals em on

mas no php 4 ele fica em off , eu postei hj um tópico sobre isso da uma lida

no tópico :

Principais Duvidas De Iniciantes

Usando Register Globals

Link para o comentário
Compartilhar em outros sites

  • 0

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...

Link para o comentário
Compartilhar em outros sites

  • 0

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; 

Link para o comentário
Compartilhar em outros sites

  • 0

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....

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta não gravar no banco o arquivo mas grava no banco só o nome do arquivo

e vamo resolver o seu problema , fala o que você quer fazer dai fica mais facil

esqueça o codigo o codigo é gerado apartir do que você quer

me fala como você quer que acontece ai no seu script

Link para o comentário
Compartilhar em outros sites

  • 0

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....

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta fazer do jeito certo cara se ta dando erro tenta arrumar é melhor

o erro deve estar ai você ta pegando um arquivo e querendo gravar num campo do banco

por isso que o arquivo da erro, o jeito certo é ficarem os arquivos numa pasta mesmo

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...