k_uba
14.12.2006, 22:36:39
W stworzonej bazie mam tabele Dokumenty w ktorej jest kolumna plik (VARCHAR(...)). Z pomoca tego forum zostal stworzony skryp ktory powinien otwierac ten plik w pdf'ie. MIanowicie po wywolaniu otwiera sie Adobe ale jest blad a po zapisaniu na dysk tego pliku ma on 255kb. Moje pytanie jest nastepujace: Jak przechowywac plik w bazie aby byl on prwidlowo otczytywany przez ponizszy skrypt:
Dla proby jest na sztywno wprowadzone 20.
<?php
header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="$result"');
$sql="SELECT tytul FROM dokumenty WHERE id_dokumenty=20";
?>
cadavre
14.12.2006, 22:40:44
To może TEXT zamiast VARCHAR?
batman
14.12.2006, 22:53:48
Jeśli przechowujesz plik w bazie danych, to pole, w którym się on znajduje powinno mieć typ BLOB.
kossa
14.12.2006, 22:56:09
Varchar ma długość 255, nie wiem co chcesz osiągnąć, ale do przechowywania danych binarnych stosuje się pola typu blob.
Jak tworzyć dokumenty pdf - poszukaj na forum.
Łukasz
k_uba
15.12.2006, 23:25:35
W mojej bazie jest taki zalozenie ze mam wprowadzac dokumenty pdf (juz zmienilem na BLOB) przez inputa a nastepnie wybrac jeden dokumenty pdf i go otworzyc i cos mi nie dziala a ja nie wiem za bardzo co
kliszaq
17.12.2006, 00:27:15
$sql="SELECT tytul FROM dokumenty WHERE id_dokumenty=20";
a moze :
$sql="SELECT tytul FROM dokumenty WHERE id_dokumentu=20";
ps. pozatym jesli uzywasz np MS-SQL-a, to twoj varchar moze miec wiecej niz 256 znakow. W zasadzie tyle ile zadeklarujesz, tyle bedzie.
Pewnie tez jest jakies gorne ograniczenie.
Moja rada jest taka, ze jesli mialbys na prawde duze dane, i mialyby one byc w pewnym stalym wzrocu, to moze sobie podzielic kazda strone
na osobny rekord w tabeli ? Dzielac dodatkowo na strony o ustalonej wielkosci maksymalnej zaoszczedzasz klopotow.
(To taka sugestia).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.