Autor Zpráva
ronnie21
Profil
Ahoj,
v rámci školního projektu se snažíme vytvořit si svoji databázi.... Já mám aktálně problém s exportem dat( vše se učím, takže :-) )...

Vždy mi hodí hlášku:
Warning: fopen(data.xml): failed to open stream: Permission denied in /var/www-stud/e14197/1/export.php on line 35

Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www-stud/e14197/1/export.php on line 36

Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www-stud/e14197/1/export.php on line 37
Peru se s tím, již nějakou dobu...zkoušela jsem překopat kód, ale chyba se objeví vždy... :-(.
Na netu jsem našla rady typu, "musíš povolit, aby tě to pouštělo..."...jednak nejsem správcem serveru(je školní) a zároveň ostatním to funguje :D.
Děkuju za rady :-),


kód:
<?php
$xml = '<?xml version="1.0" encoding="windows-1250"?'.">\n<Lazne>\n";

include ("prihlaseni.php");

$query = mysql_query("SELECT * FROM farmy");

while($data = mysql_fetch_array($query)) {
$xml .= '  <Farmy="'.$data["ID"].'">
    <Jmeno>'.$data["Jmeno"]."</Jmeno>
    <Cislo>".$data["Cislo"]."</Cislo>
    <Stanek>".$data["Stanek"]."</Stanek>
    <Navsteva>".$data["Navsteva"]."</Navsteva>
    <Zvirata>".$data["Zvirata"]."</Zvirata>
    <Rostliny>".$data["Rostliny"]."</Rostliny>
    <Ovoce>".$data["Ovoce"]."</Ovoce>
    <Zelenina>".$data["Zelenina"]."</Zelenina>
  </Farmy>\n";
}

mysql_close();

$xml .= "</farmy>";

$export = fopen("data.xml", "w");
fwrite($export, $xml);
fclose($export);
?>
Davex
Profil
ronnie21:
Chyba „Warning: fopen(data.xml): failed to open stream: Permission denied in /var/www-stud/e14197/1/export.php on line 35“ minimálně říká, že skript nemá povoleno vytvořit soubor. Adresáři /var/www-stud/e14197/1 by asi bylo vhodné nastavit přes FTP klienta práva pro zápis, třeba 0777 neboli rwxrwxrwx.

Jinak:

a) chyba se vyskytla na 35. řádku a tvůj skript jich má pouze 28
b) použitou kombinaci funkcí fopen, fwrite a fclose lze nahradit jedinou funkcí file_put_contents
c) učíš se používat funkce mysql_*, které se už pár let nemají používat a v nejnovějších verzích PHP nejsou
d) kódování windows-1250 je už také zastaralé a používá se téměř výhradně kódování utf-8

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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