PHP MYSQL dosya içeriği sorunu kaçış

3 Cevap php

Ben php kullanarak mysql veritabanına bir. Pdf dosyası yüklemek için çalışıyorum.

Bu dosyanın içeriği dışında tüm iyi. Ne olursa olsun ben de özel karakterleri kaçmayı deneyin görünüyor nasıl, sorgu her zaman çoğunlukla "Bilinmeyen komut \ n" ile, başarısız olur.

Ben addslashes, mysql_real_escape_string, removeslashes vb kullanmış

Herkes dosya içeriğini kaçmak için nasıl herhangi bir fikir var mı?

Çok teşekkürler,

3 Cevap

Ben :) .. güzel iş gibi görünüyor ki, önce şu diziyi kullandım, ve görüntüler, pdfs, verilerin diziler dahil, db içine herhangi bir veri depolamak

Verileri saklama (bir dize, dizi, nesne, vb olabilir);

İlk olarak, bir base64 kodlanmış dizeye veri açmak

$strData = strtr(
             base64_encode(
               addslashes(
                 gzcompress( serialize($dataToStore) , 9)
                 )
               ) , '+/=', '-_,');

Sonra db bu dize veri depolamak ...


Veri alınıyor;

Db gelen dize verileri ayıklamak

geri ne istediğiniz veriyi çözmek (Eğer veri girişi, dizi, görüntüye bağlı olarak bu sonra fazladan bir adımı gerçekleştirmek gerekebilir, vb)

$returnData = unserialize(
                gzuncompress(
                  stripslashes(
                    base64_decode(
                      strtr($strDataFromDb, '-_,', '+/=')
                    )
                  )
                )
              );

Bu kesinlikle bir mySQL db depolamak için ne gerekli saklamak için bana yardımcı oldu!

Bir veritabanında bir dosya saklamak istediğiniz neden görmüyorum, ama prepared statements bir göz atın öneririz.

Guess: Sen nedeniyle karakter kümeleri arasında uyumsuzluk hataları oluşuyor olabilir. Eğer db sütun bunu da işlemek için ayarlanmış olduğundan emin olmanız gerekir bu yüzden PDF muhtemelen bir ikili dosyadır.