Selamunaleyküm arkadaÅŸlar. Php ile Excel dosyasını okutup veritabanına eklemek istiyordum. Yerel makinede sıkıntı yok kullandığım Excel sınıfı çalışıyor lakin hosta atınca aÅŸağıdaki gibi hata veriyordu.
Bu hatanın nedeni 64 bit sistemlerden kaynaklanıyor. Çözümü için aÅŸağıdaki yöntemi yapmanız gerekmektedir.
ÇÖZÜM:
Öncelikle oleread.inc dosyasını bir metin düzenleyici ile açınız.
Belirtilen satıra gidiniz orada function GetInt4d($data, $pos) { ... } sınıfını bulalım ve içini aÅŸağıdaki kodla deÄŸiÅŸtirelim.
function GetInt4d($data, $pos) {
// x64
if (PHP_INT_SIZE == 8) {
$_or_24 = ord($data[$pos+3]);
if ($_or_24>=128)
$_ord_24 = -abs((256-$_or_24) << 24);
else
$_ord_24 = ($_or_24&127) << 24;
return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24;
}
else {
// x86
return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
}
}
Kaydedip hosttaki dosyayı değiştirelim.
Hepsi bu kadar. Allah'a emanet olunuz...
Mustafa KARSLI