ciao
premetto che non conosco molto php
ho creato questi tre file per importare un file txt con allinterno delle stringhe contenenti percorso e nome di un file immagine e porcorso cartella web
con il file index assegno il nome del file txt da importare
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>
<body>
<form method="post" action="engineimmagini.php" enctype="multipart/form-data">
<table width="500" border="0">
<tr>
<td colspan="2">IMPORTA</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td>File da importare</td>
<td><input name="uploadedfile" type="file" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Carica" /></td>
</tr>
</table>
</form>
</body>
</html>
con il file engineimmagini importo il file nella cartella immagini
Codice PHP:
<?php
//inclusione funzioni per eseguire lo script
include("importimmagini.php");
//percorso cartella dove importare i file sql
$target_path = "immagini/";
//nome del file sql importato
$nome_file = $_FILES['uploadedfile']['name'];
//percorso completo (cartella + nome file)
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);
//copio il file immagini da locale a remoto
if(!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
// se c'è qualche problema mostro l'errore
echo "Errore durante l'upload del file";
exit();
}
//richiamo le funzioni per eseguire il file sql importato
if(immagini_import_file($target_path, $errmsg))
{
//se è andato tutto bene mostro il messaggio e cancello il file immagine
echo "Immagini importate con successo";
//se tutto è andato bene...elimino il file sql caricato
unlink($target_path);
}else
{
//se la eseguita è andata male mostro degli errori
echo "[b]Errore:[/b] ".$errmsg."
;
}
?>
con il file importaimmagini vorrei leggere il file estrapolare le varie stringhe e fare un ciclo su queste e estrapolare il nome dell'immagine e il nome del percorso web dove salvarle e fin qui funziona tutto
Codice PHP:
<?php
/*Accetta un file immagini */
function immagini_import_file($filename, &$errmsg)
{
//leggo il file
$lines = file($filename);
//se non posso aprire il file mostro l'errore
if(!$lines)
{
$errmsg = "Non posso aprire il file $filename";
return false;
}
//inizializzo variabile
$scriptfile = false;
//ignoriamo i commenti e le linee jumbo dal file sql
foreach($lines as $line)
{
$line = trim($line);
if(!ereg('^--', $line))
{
$scriptfile.=" ".$line;
}
}
//se ci sono problemi mostro l'errore
if(!$scriptfile)
{
$errmsg = "Nessun testo trovato nel file $filename";
return false;
}
//divido le linee grandi in percorsi immagine*/
$immagini = explode('/fine', $scriptfile);
//eseguo ogni linea come una immagine
foreach($immagini as $immagini)
{
$suddivisa = explode(',',$immagini);
echo $suddivisa [0]. "
";
echo $suddivisa [1]. "
";
//percorso cartella dove importare i file sql
$target_path = $suddivisa[1];
//nome del file sql importato
$nome_file = $_FILES[$suddivisa[0]]['name'];
echo "nomefile ".$nome_file . "
";
//percorso completo (cartella + nome file)
$target_path = $target_path . basename($_FILES[$suddivisa[0]]['name']);
//copio il file immagini da locale a remoto
if(!move_uploaded_file($_FILES[$suddivisa[0]], $target_path)) {
// se c'è qualche problema mostro l'errore
echo "Errore durante l'upload del file nr ".$nome_file ;
exit();
}
}
}
?>
infatti mostro la stringa divisa in due parti corrette
l'errore me lo da quando cerco di importare il file ma non so che errore sia
ciao
e grazie
ilario