Nedir bu işlevi yazmak için daha iyi bir yolu.

5 Cevap php

Yani yea im bir pencere sistemi üzerinde çalışan ve bu yerel çalışırken, bunu biliyorum diğer halklar sunucularında kıracak. Bir çapraz platform yolu, bu gibi aynı şeyi nedir

function fetch($get,$put){
    file_put_contents($put,file_get_contents($get));
}

5 Cevap

İşte basit dosya işlemlerini kullanarak çözüm olurdu:

<?php
$file = "http://www.domain.com/thisisthefileiwant.zip";
$hostfile = fopen($file, 'r');
$fh = fopen("thisisthenameofthefileiwantafterdownloading.zip", 'w');

while (!feof($hostfile)) {
    $output = fread($hostfile, 8192);
    fwrite($fh, $output);
}

fclose($hostfile);
fclose($fh);
?>

Dizin etkin yazma izinlerine sahip olduğundan emin olun. (CHMOD)

Bu nedenle, ($ $ koymak olsun) almak için bir yedek olacaktır:

function fetch($get, $put) {    
    $hostfile = fopen($get, 'r');
    $fh = fopen($put, 'w');

    while (!feof($hostfile)) {
        $output = fread($hostfile, 8192);
        fwrite($fh, $output);
    }

    fclose($hostfile);
    fclose($fh);
}

Bu yardımcı umut! =)


Cheers, KrX

Diğer bilgisayar PHP4 üzerinde olmadığı sürece başarısız neden görmüyorum. O backwards uyumlu hale getirmek için yapmanız gereken ne file_get_contents için yedek sağlamak için işlevsellik eklemek ve bir file_put_contents:

if(version_compare(phpversion(),'5','<')) {
    function file_get_contents($file) {
        // mimick functionality here
    }    
    function file_put_contents($file,$data) {
        // mimick functionality here
    }
}

Shawn cevabı tek şey size $ koymak varialable Unix sunucu üzerinde Windows Server ya da üzerinde geçerli bir yol olduğundan emin olmak gerekir ki, mutlak doğru değildir.

i yerel sunucuya uzak bir sunucudan dosya getirmek istediğini anladım sorunuzu okurken de, bu php gelen FTP uzantısı ile yapılabilir

http://www.php.net/manual/en/function.ftp-fget.php

Bu niyet ne Shawn diyor doğru olduğuna inandığınız şeyi değilse

başka yorumlarda bana ve ben size daha fazla yardımcı olacak

Fopen sarmalayıcıları etkin değilse, kıvırmak uzantısı olabilir: http://php.net/curl