Ciao ragazzi, ho bisogno di esportare il contenuto di un campo blob (il database firebird, uso le PDO per la connessione) su un file nel filesystem ($pathOut). Ho guardato un po' su internet e sono arrivato qui. Ma non funziona perchè mi crea tutti file vuoti. Posto la funzione incriminata, la connessione al db funziona, è solo che non riesco ad esportare il blob.
Grazie dell'aiuto
/*Estrae il contenuto del blob e lo mette in una cartella e in un file*/
function extractBlobIntoDir($CodDitta, $Num, $pathOut)
{
$ret="";
$db_corp = new PDO ($this->stringa_connessione_locale,$this->usr_connessione_locale, $this->pwd_connessione_locale);
$query_corp1= "select miocampo from miatabella WHERE (not (miocampo is null)) AND MYDITTA='" . $CodDitta . "' AND NUM=" . $Num;
$result_corp1 = $db_corp->prepare($query_corp1);
$result_corp1->execute();
$result_corp1->bindColumn(1, $corp1_FOTO, PDO::PARAM_LOB);
while($result_corp1->fetch()){
if($corp1_FOTO){
$Mycontent = stream_get_contents( $corp1_FOTO );
file_put_contents( $pathOut, $Mycontent );
}
}
return $ret;
}
[Risolto] [PHP] Esportare contenuto campo blob
-
- Prode Principiante
- Messaggi: 100
- Iscrizione: martedì 28 aprile 2009, 14:31
- Contatti:
[Risolto] [PHP] Esportare contenuto campo blob
Ultima modifica di xinyiquanman il martedì 25 agosto 2015, 23:38, modificato 1 volta in totale.
Amo la programmazione semplice = amo Lazarus.
http://www.lazaruspascal.it (Community Italiana di Lazarus e Free Pascal)
http://www.lazaruspascal.it (Community Italiana di Lazarus e Free Pascal)
Re: [PHP] Esportare contenuto campo blob
Non è che in $corp1_FOTO c'è già il contenuto del file?
Prova con:
NB: Usare PDO in quel modo è completamente insicuro. I parametri vanno sempre controllati e passati attraverso i prepared statement.
Prova con:
Codice: Seleziona tutto
/*Estrae il contenuto del blob e lo mette in una cartella e in un file*/
function extractBlobIntoDir($CodDitta, $Num, $pathOut)
{
$ret="";
$db_corp = new PDO ($this->stringa_connessione_locale,$this->usr_connessione_locale, $this->pwd_connessione_locale);
$query_corp1= "select miocampo from miatabella WHERE (not (miocampo is null)) AND MYDITTA='" . $CodDitta . "' AND NUM=" . $Num;
$result_corp1 = $db_corp->prepare($query_corp1);
$result_corp1->execute();
$result_corp1->bindColumn(1, $corp1_FOTO, PDO::PARAM_LOB);
while($result_corp1->fetch()){
if($corp1_FOTO){
file_put_contents( $pathOut, $corp1_FOTO );
}
}
return $ret;
}
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
-
- Prode Principiante
- Messaggi: 100
- Iscrizione: martedì 28 aprile 2009, 14:31
- Contatti:
Re: [PHP] Esportare contenuto campo blob
Grazie mille ha funzionato egregiamente.
Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4795865#p4795865][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Non è che in $corp1_FOTO c'è già il contenuto del file?
Prova con:NB: Usare PDO in quel modo è completamente insicuro. I parametri vanno sempre controllati e passati attraverso i prepared statement.Codice: Seleziona tutto
/*Estrae il contenuto del blob e lo mette in una cartella e in un file*/ function extractBlobIntoDir($CodDitta, $Num, $pathOut) { $ret=""; $db_corp = new PDO ($this->stringa_connessione_locale,$this->usr_connessione_locale, $this->pwd_connessione_locale); $query_corp1= "select miocampo from miatabella WHERE (not (miocampo is null)) AND MYDITTA='" . $CodDitta . "' AND NUM=" . $Num; $result_corp1 = $db_corp->prepare($query_corp1); $result_corp1->execute(); $result_corp1->bindColumn(1, $corp1_FOTO, PDO::PARAM_LOB); while($result_corp1->fetch()){ if($corp1_FOTO){ file_put_contents( $pathOut, $corp1_FOTO ); } } return $ret; }
Amo la programmazione semplice = amo Lazarus.
http://www.lazaruspascal.it (Community Italiana di Lazarus e Free Pascal)
http://www.lazaruspascal.it (Community Italiana di Lazarus e Free Pascal)
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 18 ospiti