Čím nahradit funkci copy ?

Ahoj. Po zakazani teto funkce mam docela velky problem, mam na wz stranky vytvoreny v rs Mambo a bez funkce copy se neda uplodovat na server ani blba fotka...natoz pak instalovat nejaky komponenty apod. Nevite nekdo o nejakym ekvivalentu teto funkce ? rozhodne mi nepomuze move_uploded_file() , je jen na uplodovany soubory jak nazev napovida. Koukal sem se do manualu php a bohuzel jsem nic nenasel... Diky za odpovedi.
Kdyby ses podival o par radku nize, tak bys zjistil odpoved.

http://www.webzdarma.cz/forum/read.php?f=2&i=32891&t=32891
Tohle jsem si samozřejmě procházel ale v tom zadna odpoved neni..
funkce move_uploded_file() pouzit nejde a file_put_contents("$AValue.bak",file_get_content("$AValute.txt")); je jen v php5
....tak v cem je ta odpoved ?
Autor: Nípal (moderátor)
Datum: 12. 05. 2006 15:37

Rozumné by bylo funkci copy upravit, aby byla použitelná a aby neměla ta rizika. Jaký je ale problém v použití kombinace fopen, fwrite, file_get_contents a fclose? Copy v podstatě dělá totéž, i když na to používá API systému.

tak asi něco takového:

<?php
$s='a.jpg';
$d='a-new.jpg';
$f = fopen ($s, "r")
$c = fread ($f, filesize ($s));
fclose ($f);
$f = fopen($d, 'w');
fwrite($f,$c);
fclose($f);
?>
<HTML>Proč tak složitě? Stačí takhle: <small>(teda snad to funguje)</small>


<code>
<?php
function copy2($zdroj, $cil) {
  $soubor = fopen($cil,'w');
  fwrite($soubor, file_get_contents($zdroj));
  fclose($soubor);
}
?>
</code></HTML>
Diky muzu jen potvrdit ze ta vylepsena varianta funguje super. :)
a co to osetrit aby bylo jasny kde to pripadne spadlo? echa uz necham na uzivateli...

function copy2($zdroj, $cil)
{
if (($soubor = fopen($cil,'w'))==FALSE)
{
return false;
}
if (fwrite($soubor, file_get_contents($zdroj))==FALSE)
{
return false;
}
if (fclose($soubor)==FALSE)
{
return false;
}

return true;
}
pro kopirovani i celych adresaru. Snad jsou osetreny vsechny chybove stavy.

<?php
function copy2($source, $dest)
{
    if (!file_exists($source))
    {
        return false;
    }
    if (is_file($source))
    {
        $fcontents = @join ('', @file ($source));
        if ($fcontents==NULL) {return false;}
        $fp = @fopen($dest,"w");
        $retw = fwrite($fp,$fcontents);
        $retc = fclose($fp);
        if (!$fp or !$retw or !$retc) {return false;}
        else {return true;}
    }
    
    if (!is_dir($dest))
    {
        mkdir($dest);
    }

    $dir = dir($source);
    while (false !== ($entry = $dir->read()))
    {
        if ($entry == '.' || $entry == '..')
        {
            continue;
        }
        if ($dest !== "$source/$entry")
        {
            copy2("$source/$entry", "$dest/$entry");
        }
    }
    $dir->close();
    return true;
}
?>

Cast kodu jsem prevzal z Aidan's PHP Repository.
A funguje to také pro kopírování jednotlivých souborů? mě to totiž nejde