Dosya kopyalama PHP 4 vai PHP'nin HTTP Get tarih

0 Cevap php

Ben aslında PHP 4.4.9 ile yazılmış bir siteye ekleyerek işlevselliği üzerinde çalışıyoruz. Bu PHP5 noktasına bütçelerinin site değil, bu yüzden bile önermiyoruz. (O kötü ihtiyacı olmasına rağmen). Karşılıklı sorun sunucu üzerinde bir dosya konumuna bir GET isteği ikili veri kopyalamak için nasıl. Aşağıdaki gibi şu anda bu yöntemi desteklemek için yazılmış kodu:

function save($path) { 
    $input = fopen("php://input", "r");
    $temp = tmpfile();
    $realSize = stream_copy_to_stream($input, $temp);
    fclose($input);

    if ($realSize != $this->getSize()){            
        return false;
    }

    $target = fopen($path, "w");        
    fseek($temp, 0, SEEK_SET);
    stream_copy_to_stream($temp, $target);
    fclose($target);
}

Ben bu ile yaşıyorum sorun funciton stream_copy_to_stream sadece PHP 5 destekleniyor olmasıdır. İşte ben bugüne kadar ne var, ama sadece boyutu 8K'Dır dosyaları oluşturmak gibi görünüyor ve ben değilim emin niçin. Bu, teoride, 20M kadar izin vermelidir.

function save($path) {    
    $input = fopen("php://input", "rb");
    $temp = tmpfile();
    fwrite($temp, fread($input, 20971520));
    fclose($input);

    $target = fopen($path, "w");        
    fseek($temp, 0, SEEK_SET);
    #stream_copy_to_stream($temp, $target);
    fwrite($target, fread($temp, 20971520));
    fclose($target);
    echo $path;

    return true;
}

Ben okurken dosya boyutu almak için bir yol bilemiyorum çünkü ben boyut kontrol kaldırıldı. Herhangi bir yardım büyük ölçüde bu takdir edilir. Ben tam anlamıyla saat boyunca benim beyin bozucu olmuştur ve ben muhtemelen çok kolay soruma cevap verebilir stackoverflow büyük olasılıkla orada birisi, orada olduğunu biliyorum.

Önceden tüm yardım için teşekkürler!

Ayrıca, ben vb ilerleme çubukları, ile birden fazla dosya yükleme izin GET ile veri göndererek am

0 Cevap