Autor Zpráva
NikerCZLP
Profil
ahoj chci dělat web a potřebuji funkci která mě zkopíruje txt soubor zatím jsem vyzkoušel toto
$co = "./zakl.txt";
$kam = "./brno/zakl.txt";
if (!copy($co, $kam))
    echo "Kopírování souboru selhalo!"; 
a píše to toto :Warning: copy eval imap_open session_save_path() has been disabled for security reasons in /3w/borec.cz/f/fdfffr/index.php on line 22

Warning: unlink(./brno/zakl.txt): No such file or directory in /3w/borec.cz/f/fdfffr/index.php on line 23

web hostuji na webzdarma
DJ Miky
Profil
Na WebZdarma z jakéhosi důvodu zakázali funkci copy(). Řešením je změnit hosting nebo využít funkcí fopen, fread/fwrite a fclose pro manuální překopírování dat, případně file_get_contents a file_put_contents, pokud jsou soubory malé (tyto funkce je načtou celé do paměti).
NikerCZLP
Profil
a nevíte jak to má endora ??
DJ Miky
Profil
Lze to zjistit z výpisu phpinfo, konkrétně direktivy disable_functions. Pro Endoru jsou zde: http://kb.endora.cz/home/content/id/33. copy() tam zakázané není.
NikerCZLP
Profil
no ted když spustím web tak to napíše Kopírování souboru selhalo
NikerCZLP
Profil
mam již skoro hotoví web a potřebuji udělat scipt ktery me podle formuláře vytvoři složku do nakopíruje potřebné soubory
potřeboval bych aby to kopírovalo z jedné zakladní složky do jine která ze vytvoři na základě formuláře


a ještě lepší kdyby to šlo z dropboxu


ahoj takže už se mě povedl udělat script na kopírováni ted nevím ja do proměné uložit ty cesty a vytvořit složku tady je script
<?php
if(!@copy('http://priznani-sveta.8u.cz/zakl.txt','./brno/zakl.txt'))
{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}
?>
NikerCZLP
Profil
jedíné co stačí jak do './brno/zakl.txt' dat proměnou $nazev místo brno takto './'$nazev'/zakl.txt' ??


ale nefunguje prosím o radu jak to mam upravit
html
<html>
<form action="index.php" method="post">
<input type="text" name="nazev" value="hodnota">
<input type="submit" value="odeslat">
</form>
</html>
<?php

?>



php

<?php

mkdir("./$nazev", 0700);

if(!@copy("http://priznani-sveta.8u.cz/zakl.txt","./$nazev/zakl.txt"))
{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}
?>
Taps
Profil
zkus
<?php
 
mkdir("./".$nazev, 0700);
 
if(!copy("zakl.txt","./".$nazev."/zakl.txt"))
{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}
?>
NikerCZLP
Profil
vypisuje to error COPY ERROR: 8
Undefined variable: nazev
Taps
Profil
NikerCZLP:
a v proměnné $nazev máš zadanou nějakou hodnotu ?
NikerCZLP
Profil
j
Taps
Profil
NikerCZLP:
co vypíše $errors['message'] ?
NikerCZLP
Profil
http://priznani-sveta.8u.cz/index1.php
Taps
Profil
NikerCZLP:
<html>
<form action="index.php" method="post">
<input type="text" name="nazev" value="hodnota">
<input type="submit" value="odeslat">
</form>
</html
a pak PHP
<
<?php
$nazev =$_POST['nazev'];
 
mkdir("./".$nazev, 0777);
 
if(!copy("zakl.txt","./".$nazev."/zakl.txt"))
{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}
?
NikerCZLP
Profil
to neni webzdarma to je endora
Rfilip
Profil
Hodnota inputu nazev je v $_POST["nazev"] ne v $nazev.
tudíž si na 2 řadek [#8] dej $nazev = $_POST["nazev"];.
Taps:
Není, je to endora.
NikerCZLP
Profil
je diky už to funguje


je to endora
http://priznani-sveta.8u.cz/index.f dukaz


a jak dám příkaz aby to nahrálo ještě jiné soubory ?


už sem to vyřešil znovu sem opakoval script s jinými udaji
NikerCZLP
Profil
Narazil jsem na další problém když dám
if(!copy("http://zaklad.8u.cz/zakl/nick.txt","./".$nazev."/nick.txt")) 

{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}




                    
$soubor = fopen("nick.txt", "w"); 
fwrite($soubor, $nazev); 
fclose($soubor);
nakopíruje se txt soubor ale nezapíše data :(


---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Cely KOD

vytvoreni.php
<?php



$nazev =$_POST['nazev'];
 
mkdir("./".$nazev, 0777);
 
if(!copy("http://zaklad.8u.cz/zakl/zakl-index.html","./".$nazev."/zakl-index.html")) 

{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}


if(!copy("http://zaklad.8u.cz/zakl/vypis.txt","./".$nazev."/vypis.txt")) 

{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}     

if(!copy("http://zaklad.8u.cz/zakl/nick.txt","./".$nazev."/nick.txt")) 

{
    $errors= error_get_last();
    echo "COPY ERROR: ".$errors['type'];
    echo "<br />\n".$errors['message'];
} else {
    echo "File copied from remote!";
}




                    
$soubor = fopen("nick.txt", "w"); 
fwrite($soubor, $nazev); 
fclose($soubor);



?>
tabulka.php
<html>
<form action="vytvoreni.php" method="post">
<input type="text" name="nazev" value="Zadej Název">

<input type="submit" value="odeslat">
</form>
</html>
NikerCZLP
Profil
pls pomoc
Silver8000
Profil
A proc proste nepouzijes file_get_contents a file_put_contents ten neni zakazany nikde obcas je jen zakazano kopirovat z webu na web.
DJ Miky
Profil
"./".$nazev."/nick.txt" a "nick.txt" jsou rozdílné cesty. Navíc mód "w" u fopen by případný původní obsah souboru vymazal (nedává smysl kopírovat vzdálený soubor, když ho pak stejně přepíšeš).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: