eccomi avevo qualche problema da risolvere:
Codice PHP:
<?php
include_once 'link.html';
include_once 'config.php';
if ($_FILES['file']['error'] != UPLOAD_ERR_OK) {
switch ($_FILES['uploadfile']['error']) {
case UPLOAD_ERR_INI_SIZE:
die("File troppo grande rispetto a php.ini");
break;
case UPLOAD_ERR_FORM_SIZE:
die("File troppo grande rispetto a quanto stabilito nel form di upload");
break;
case UPLOAD_ERR_PARTIAL:
die("File solo parzialmente caricato");
break;
case UPLOAD_ERR_NO_FILE:
die("Nessun file è stato uplodato");
break;
case UPLOAD_ERR_NO_TMP_DIR:
die("Problemi con cartella temp");
break;
case UPLOAD_ERR_CANT_WRITE:
die("Problemi di permessi");
break;
case UPLOAD_ERR_EXTENSION:
die("Estensione non supportata");
break;
}
}
$maxSize = 500; //massima dimensione dei file in kilobyte
$acceptType = array(//tipi di file accettati, in questo caso solo immagini
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
);
$cartella = "images/"; //cartella dove vengono caricati i file nel server
$image_caption = $_POST['caption'];
$image_category = $_POST['category'];
$image_date = date('Y-m-d');
for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
echo "Risultato file " . ($i + 1) . ": " . singleUpload($i, $cartella, $maxSize, $acceptType) . "
";
$query = 'insert into images (image_caption,image_date,image_category) values ("' . $image_caption . '","' . $image_date . '","' . $image_category . '")';
$result = mysql_query($query, $db) or die(mysql_error($db));
}
function singleUpload($i, $cartella, $maxSize, $acceptType) {
if ($_FILES['file']['name'][$i] != "") {
$destinazione = $cartella . basename(mysql_insert_id() . "_" . $_POST['category'] . '.jpeg');
if ($_FILES['file']['size'][$i] <= $maxSize * 1024) {// da levare appena il resto funziona
if (in_array($_FILES['file']['type'][$i], $acceptType)) {
if (move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) {
return "File caricato con successo!";
} else {
return "Errore nell'upload del file";
}
} else {
return "Tipo di file non accettato!";
}
} else {
return "Dimensione del file troppo grande, massima dimensione accettata: " . $maxSize . " kilobyte";
}
} elseif (isset($_POST['upload'])) {
return "Nessun file inserito!";
}
}
//imagedestroy($image);
?>
questa è la riga dove viene impostato il nome del file:
Codice PHP:
$destinazione = $cartella . basename(mysql_insert_id() . "_" . $_POST['category'] . '.jpeg');
nella pagina di visualizzazione come posso richiamare il nome:
Codice PHP:
while ($riga = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $riga['image_caption'] . "</td>";
echo "<td>" . $riga['image_date'] . "</td>";
echo "<td>" . $riga['image_category'] . "</td>";
echo '<td>[img]images/' . /* qui mi manca come richiamare il nome*/ . '[/img]</td>';
echo "</tr>";
}