Ben sadece son zamanlarda sordum ve damlacıklar olarak bir MySQL veritabanı içine 2 MB daha fazladır yükleme. PDF dosyaları ile ilgili bir soru çözdü. Benim php.ini dosyası ve MySQLs maksimum paket ayar bazı ayarları değiştirmek zorunda kaldı. Ancak, bu sorunu düzeltmek benim komut ile yeni bir sorun bulmak için bana yol açmıştır.
Benim BLOB veritabanına dosya yükleyebilir beri Şimdi test amaçlı dosyasını indirmek için çalıştı. . Ben aşağıdaki hata aldı PDF dosyasını açmak için gitti benim öndeydi: belge (hata 3) 'file :/ / / tmp/test-13.pdf' yüklenemedi. Araştırmamız sonucunda ben indirilen dosya öğrendim, test.pdf, sadece 1 MB, biraz az biraz fazla 2 MB veritabanında sözde boyutunun yarısından daha oldu. Bu tabii ki hata için nedenidir.
Aşağıdaki kod parçası ben veritabanından dosyaları indirmek için kullanıyorum benim senaryonun parçasıdır. Bu komut ve works Flawlessly for files that are less than 1 MB. arasında çok üstünde olduğunu
foreach($_REQUEST as $key => $value)
{
if ($value == 'Open')
{
header();
session_start();
$dbh = new PDO('mysql:host='.$_SESSION['OpsDBServer'].'.ops.tns.its.psu.edu;
dbname='.$_SESSION['OpsDB'], $_SESSION['yoM'], $_SESSION['aMa']);
$id = $key;
$sqlDownload = "SELECT name, type, content, size FROM upload WHERE
id='".$id."'";
$result = $dbh->query($sqlDownload);
$download = $result->fetchAll();
$type = $download[0]['type'];
$size = $download[0]['size'];
$name = $download[0]['name'];
$content = $download[0]['content'];
header("Content-type: $type");
header("Content-Disposition: inline; filename=$name");
header("Content-length: $size");
header("Cache-Control: maxage=1");
header("Pragma: public");
echo $content;
exit;
}
}
Belki ben yanlış bazı başlık ifadeler olduğunu düşünüyorum? Ben ne hakkında çok karıştı. Ben php.ini ile arandı ve ben değişti gerek yok ayarları bulduk ve MySQL için benim maksimum paket ayarını öylesine 2 MB yüklemeniz gerekir 4. MB.
Herhangi bir yardım için teşekkür ederiz.