zip, mysql

Статус
В этой теме нельзя размещать новые ответы.

БАРАДА

Создатель
Регистрация
3 Мар 2008
Сообщения
21
Реакции
2
задача залить файл в mysql + возможность скачать оный из базы.
заливаю (тип поля mediumblob)
PHP:
$file = $_FILES['zipfile']['tmp_name'];
$f = @fopen( $file, "rb" ); 
$upload = @fread ( $f, filesize( $file ) );
fclose($f); 
mysql_query("INSERT INTO docs ('zipfile') VALUES ('".addslashes($upload)."')");
вытаскиваю
PHP:
$result = mysql_query("SELECT zipfile FROM dosc WHERE id=$id");
$row = mysql_fetch_assoc($result);
header("Content-type: application/zip");
echo $row['zipfile'];

файл скачивается с ошибкой (
 
а где заголовки Content-Length и Content-Disposition?

PS хранить файлы в БД - большое извращение.
 
извращение по вине клиента...
можно поподробнее?
 
О чём подробнее?

если об отдаче файла, то
PHP:
$file = 'bla-bla-bla.zip';
header('Content-Type: application/zip');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename=' . $file);
readfile($file);
подправить под свои нужды.

если о хранении файлов в БД, то это обсуждалось не раз.
 
задача залить файл в mysql + возможность скачать оный из базы.
заливаю (тип поля mediumblob)
PHP:
$file = $_FILES['zipfile']['tmp_name'];
$f = @fopen( $file, "rb" ); 
$upload = @fread ( $f, filesize( $file ) );
fclose($f); 
mysql_query("INSERT INTO docs ('zipfile') VALUES ('".addslashes($upload)."')");
попробуй вместо addslashes использовать mysql_real_escape_string
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху