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