Autor | Zpráva | ||
---|---|---|---|
johnl Profil |
#1 · Zasláno: 20. 8. 2009, 11:01:52
Dobrý den, zatím jsem svůj RS používal jen na php4 ale teď to zkouším na php5 a mám hned několik chyb. Mám uploader:
<? if (is_uploaded_file($soubor))://pokud jiz byl proveden upload $cesta="../upload/"; //nami definovana cesta if (move_uploaded_file ($soubor, $cesta.$soubor_name)): //presunuti souboru do naseho adresare echo "Soubor <a href='../upload/$soubor_name'>$soubor_name</a> o velikosti $soubor_size bajtů byl úspěšně nahrán na server"; else: echo "Při nahrávání souboru došlo k chybě!"; //oznameni chyby endif; endif; // formular pro upload echo '<table><FORM action="upload.php" method="post" enctype="multipart/form-data">'; echo '<tr><th width="50px">Soubor:</th><td><INPUT type="file" name="soubor"></td></tr>'; echo '<BR>'; echo '<tr><th width="50px">Funkce:</th><td><INPUT type="submit" value="Nahrát"></td></tr></FORM></table>'; ?> <br><br> Soubory na serveru: <br> <span style="color:#999;">Kliknutím na X soubor smažete!</span><br> <?php $slozka = dir("../upload"); while($soubor=$slozka->read()) { if ($soubor=="." || $soubor=="..") continue; echo "<a href='../upload/$soubor'>$soubor</a> <a href='upload.php?ukaz=delete&id=$soubor' style='color:red;'>X</a> "; // odkaz na soubor echo "<br>"; // br ;-) } $slozka->close(); ?> Warning: move_uploaded_file(../upload/avatar.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/free/ic.cz/j/john7/root/www/cls/upload.php on line 36 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpJr7g3u' to '../upload/avatar.jpg' in /home/free/ic.cz/j/john7/root/www/cls/upload.php on line 36 Na řádku 36 je to if (move_uploaded_file ($soubor, $cesta.$soubor_name)): //presunuti souboru do naseho adresare A ještě mám tento kód pro editaci: <?php $text = str_replace("/>", ">", $text); if($_GET[edit] && file_exists($_GET[edit])) { $file = $_GET[edit]; $soubor = fopen($file, "a+"); if($_POST[akce] == "Editovat" && $_GET[edit]) { $_POST[text] = stripslashes($_POST[text]); $soubor = fopen($file, "w"); fwrite($soubor, $_POST[text]); fclose($soubor); $zpr = "<strong style='color:#ff00ff;'>EDITOVÁNO!</strong>"; } $handle = fopen($file, "r"); $contents = fread($handle, filesize($file)); $contents = stripslashes($contents); fclose($handle); echo ' <p>Soubor: <strong>'.$_GET[edit].'</strong></p>'.$zpr.' <form method="post"> <table> <tr><th width="50px">Text:</th><td> <textarea id="text" name="text" style="width:400px; height: 250px;" wrap="off">'.htmlspecialchars($contents).'</textarea><br> </td></tr> <tr><th width="50px">Funkce:</th><td> <input type="submit" name="akce" value="Editovat"> </td></tr> </form> '; } ?> $soubor = fopen($file, "a+"); |
||
tiso Profil |
#2 · Zasláno: 20. 8. 2009, 11:32:13
johnl: tie chyby nie sú spôsobené verziou PHP ale nedostatočnými právami na prácu s adresármi/súbormi
|
||
johnl Profil |
#3 · Zasláno: 20. 8. 2009, 11:35:18 · Upravil/a: johnl
Aha, no možná to bude spíš serverem když na wz se práva nastavují automaticky a na ic už ne... Co mám teda udělat nastavit složkám a souborům práva 777 nebo něco jiného?
|
||
Mastodont Profil |
#4 · Zasláno: 20. 8. 2009, 11:39:23
$cesta="../upload/"; Ty dvě tečky tě posouvají do složky, kam už nesmíš. Ten soubor upload.php vkládáš přes include, ne? |
||
johnl Profil |
#5 · Zasláno: 20. 8. 2009, 11:41:47 · Upravil/a: johnl
Mastodont:
No, ona je ta složka o úroveň níž, ale na wz mi to fungovalo v pořádku.. A přes include to není.. |
||
Časová prodleva: 15 let
|
0