Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia amigos,
Estou com mais uma dúvida.Estou elaborando um importador de dados em PHP que pega as informações de uma tabela de banco LOCAL e e faz um insert em PHP para que possa passar as informações para o banco de dados, porém, me deparei com um problema, preciso passar um arquivo alocado no banco (no caso são alguns arquivos .PDF) e ao passar o campo no código PHP ele me da apenas a String com o nome do arquivo. Abaixo segue o código utilizado:
$queryLocalSelect = "SELECT tbl_tabelas.id,tbl_tabelas.titulo,tbl_tabelas.texto,tbl_tabelas.modified,tbl_tabelas.arquivo1 FROM tbl_tabelas;";
$queryLocalSelect = mysql_query($queryLocalSelect, $conecta1) or die(mysql_error());
$selectBancoMoodle = "SELECT mdl_tabelas.intro FROM mdl_tabelas WHERE mdl_tabelas.intro LIKE '%".utf8_decode($monta1['titulo'])."%';";
$selectBancoMoodle = mysql_query($selectBancoMoodle, $conecta2) or die(mysql_error());
while($monta1 = mysql_fetch_assoc($queryLocalSelect)){
if($selectBancoMoodle)
{
$queryInsert = "INSERT INTO mdl_tabelas (
course,
name,
intro,
introformat,
tobemigrated,
legacyfiles,
legacyfileslast,
display,
displayoptions,
filterfiles,
revision,
timemodified,
descricao
)
VALUES
(
2,
'".$monta1['titulo']."',
'".str_replace('<','<',str_replace('>','>',$monta1['texto']))."',
1,
0,
'".$monta1['arquivo1']."', /* AQUI VIRIA O CAMPO AO QUAL QUERO PASSAR OS ARQUIVOS PDF'S */
null,
0,
null,
0,
0,
".((strtotime($monta1['modified'])!='')?"'".strtotime($monta1['modified'])."'":'NULL')."
null
);</br></br>";
echo $queryInsert;
}
}
abaixo segue a imagem do resultado deste código com um marcação no campo do Arquivo ao qual está retornando apenas a String:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i65.tinypic.com/ohod4k.png&key=f8dd1e34e32da1a6548d5f184bd7e75999528c498594749caed39682d0f23c2a" alt="ohod4k.png" />
Desde já meu muito obrigado !
>
Bom, eu tenho quase certeza de que o arquivo em si não está no banco, mas apenas seu nome mesmo.
Até porque, além de imagens, mesmo sendo algo que eu seja contra, eu nunca vi ninguém guardar arquivos meso em BD, transformados em binários ou base64.
Muito provavelmente o sistema a qual pertence o banco local armazene apenas o nome do arquivo, e internamente use-o para chamar o arquivo "fisicamente", que está alocado em alguma pasta dele.
sim amigo eles estão em uma pasta do sistema, minha dúvida seria como resgatar o arquivo via FTP para passar ele no importador.
Tentar resgatar os arquivos, lhe gerará inúmeras exceções:
Quando o registro é inserido apenas o caminho (ou parte dele), a responsabilidade de gerenciamento do arquivo é da aplicação, e não mais do SGBD. Outros fatores como criptografia/descriptografia podem estar embutidos na aplicação.
Dessa forma, qual a necessidade de resgatar o arquivo, sendo que a responsabilidade do SGBD está sendo mantida (possuir a referência, ou parte dela, para o arquivo)?
Se o formato fosse LOB (blob, clob, etc..), a história seria outra.
Bom, eu tenho quase certeza de que o arquivo em si não está no banco, mas apenas seu nome mesmo.
Até porque, além de imagens, mesmo sendo algo que eu seja contra, eu nunca vi ninguém guardar arquivos meso em BD, transformados em binários ou base64.
Muito provavelmente o sistema a qual pertence o banco local armazene apenas o nome do arquivo, e internamente use-o para chamar o arquivo "fisicamente", que está alocado em alguma pasta dele.