
Originariamente inviata da
arkus
Giannino, stai creando un pò di confusione,
devi andare per step,
il problema è nel primo passaggio, il salvataggio del file, poi puoi preoccuparti del download.
Prova a riportare il codice che effettu al'upload
E' strano che dici questo perché l'upload funziona perfettamente. Ecco il codice:
Codice PHP:
if (isset($_POST['action']) and $_POST['action'] == 'upload') {
// Bail out if the file isn't really an upload
if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {
$error = 'There was no file uploaded!';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
$uploadfile = $_FILES['upload']['tmp_name'];
$uploadname = time() . $_SERVER['REMOTE_ADD'] . $_FILES['upload']['name'];
$uploadtype = $_FILES['upload']['type'];
$uploaddesc = $_POST['desc'];
$uploaddata = file_get_contents($uploadfile);
// Creazione dell'url per caricare il file nel database
$url = $_SERVER['DOCUMENT_ROOT'] . '/file_download/' . $uploadname;
try {
copy($_FILES['upload']['tmp_name'], $url);
} catch (Exception $e) {
$error = 'Copia del file sul server non riuscita!';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
include 'db.inc.php';
try {
$sql = 'INSERT INTO filestore SET
filename = :filename,
mimetype = :mimetype,
description = :description,
url = :url';
$s = $pdo->prepare($sql);
$s->bindValue(':filename', $uploadname);
$s->bindValue(':mimetype', $uploadtype);
$s->bindValue(':description', $uploaddesc);
$s->bindValue(':url', $url);
$s->execute();
} catch (PDOException $e) {
$error = 'Database error storing file!';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
header('Location: .');
exit();
}
la variabile url non la guardare la toglierò presto dato che non serve a nulla...