Ile iyi çalışır dosyalar üzerinde boş dönen fopen PHP get_file_contents içerir ve

2 Cevap php

Ben XAMPP bir windows 2000 server yüklü. her şey PHP fopen işlevi dışında harika çalışıyor. Ben oluşturmak ne de onunla açık dosyaları alamazsınız. garip bir şey i / gerektiren / file_get_contents / diğer dosya ile ilgili işlevleri içerebilir olduğunu; Ayrıca fopen sadece null döndürür herhangi bir hata ya da bildirimler üretmez.

Ben herkese dosyanın tam kontrolünü ve tüm kapsayan klasörleri vermek kadar gitti ama hala bunun için bir dosya işaretçisi NULL olsun.

Ben, php 5.2.9 5.2.13 denedim, ve aynı etki ile 5.3.1 var. i kırılıyor şey arıyor php.ini dosyası ile gitti; ben bile silme ve fopen çalışan bir linux kutusundan temel ini dosyasını kullanarak ve hala hiçbir şey denedim.

Ben benim ini değiştirdikten sonra apache yeniden başlatmanız gerekir ve bütün bu ve (hatta sunucu yeniden var) olmuştur biliyorum bu yüzden thats değil.

Yarın im emin olmak için php-cli ile bir test çalıştırmak için gidiyoruz, bu şekilde bir apache yapılandırma sorunu olduğunu varsayarak bu poing duyuyorum.

Bazı apache / php sihirbazı benim yardımına gelebilir ben gerçekten artık bu aşkın başımı çürük istemiyorum?


Merhaba çocuklar,

yanıtlar için teşekkürler. Doğru isimli herhangi bir yapılandırma sorun değildir vardır. sorun benim DLL birini ya da benim dahil dosyalardan biri olmak zorundadır. Ben sadece herhangi içerir olmadan yeni bir dosya çalışmıyor aynı kodu denedim ve benim özel kütüphaneler ve devre dışı bırakılabilir çalıştı.

Burada kayıt için ben o çalışma değildi yaptığını budur:

$test_file = 'c:\\test.csv';//everybody has full control. is very large.
    if(file_exists($test_file) && is_readable($test_file)){
        $fp = fopen($test_file, 'r');
        echo var_export($fp, true);//outputs NULL. on my linux box this is a number.
        if($fp !== false){
            //do the work
            fread($fp, 10);//throws the error that $fp is not a valid file handle
        }
    }

i dahil ediyorum şey nasılsa Fopen kırma gerekir. içeren hiçbir yeni dosya beklendiği gibi çalışır.

2 Cevap

Bu yüzden kod bu tür kullanıyorsanız varsaymak konum:

$fp = fopen( "my_file.txt", "r" );
$contents = fread($fp, filesize( "my_file.txt" ) );
fclose($fp);

Ben dosya boyutu () işlev null döndürür varsaymak miyim? Ayrıca nispeten tam bir dizisini almak görmek için stat ($ dosya) fonksiyonu deneyin.

Bana sonuçlarını bildirin.

Yanıt için teşekkürler. Herhangi bir yapılandırma sorun değil gibi haklısın. Sorun benim DLL birini ya da benim dahil dosyalardan biri olmak zorundadır. Ben sadece herhangi içerir olmadan yeni bir dosya çalışmıyor aynı kodu denedim ve benim özel kütüphaneler ve devre dışı bırakılabilir çalıştı.

Burada kayıt için ben o çalışma değildi yaptığını budur:

$test_file = 'c:\\test.csv';//everybody has full control. is very large.
    if(file_exists($test_file) && is_readable($test_file)){
        $fp = fopen($test_file, 'r');
        echo var_export($fp, true);//outputs NULL. on my linux box this is a number.
        if($fp !== false){
            //do the work
            fread($fp, 10);//throws the error that $fp is not a valid file handle
        }
    }

i dahil ediyorum şey nasılsa Fopen kırma gerekir. içeren hiçbir yeni dosya beklendiği gibi çalışır.