Autor | Zpráva | ||
---|---|---|---|
Jiko Profil * |
#1 · Zasláno: 30. 12. 2009, 19:31:52
Zdravím,
po smazaná souboru se mi vypíše error, který patří úplně k jiné funkci. Vypíše se mi, že "Koncovka souboru musí být jedna z:" a zároveň se vypíše i správné oznámení, že "Soubor byl úspěšně smazán". Jak bych se měl prvního hlášení zbavit, který je v té chvíli úplně zbytečné. <?php $koncovky = array('png', 'jpg', 'jpeg', 'gif'); $fcesta = "fotogalerie/". $_FILES["fsoubor"]["name"]; if (!isset($fsoubor)) { if (!in_array(strtolower(pathinfo($_FILES['fsoubor']['name'], PATHINFO_EXTENSION)), $koncovky)) { echo "Koncovka souboru musí být jedna z: " . implode(", ", $koncovky); } else { if (move_uploaded_file($_FILES['fsoubor']['tmp_name'], $fcesta)) { print "<div class=\"fotogalerie_up_table\">"; print "<table border=\"1\" width=\"350\" height=\"250\">"; print "<tr><td>File Name :</td><td>".$_FILES['fsoubor']['name']."</td></tr>"; print "<tr><td>File Size :</td><td>".$_FILES['fsoubor']['size']."</td></tr>"; print "<tr><td>File Type :</td><td>".$_FILES['fsoubor']['type']."</td></tr>"; print "<tr><td>Status: </td>"."<td>Ok</td></tr></table>"; print '<form method="post">'; print '<p style="text-align: left; margin: 0;">Smazat fotku: <input style="float: none; display: inline;" type="submit" name="up_delete" value="Smazat"></p>'; print '<input type="hidden" name="filename" value="' . $_FILES['fsoubor']['name'] . '">'; print '</form>'; print "</div>"; print "<div class=\"fotogalerie_up_obrazek\">"; echo "<a href=\"$fcesta\" target=\"_blank\"><img src=\"$fcesta\" height=\"300\" border=\"0\"></a>"; print "</div>"; } else { echo "Error"; } } } if (isset($_POST['up_delete'])){ unlink("fotogalerie/". $_POST['filename']); echo "<br>Soubor byl úspěšně smazán!"; } print '<p><a href="login.php?id=fotogalerie">Zpět</a></p>'; ?> |
||
Werewolf Profil |
#2 · Zasláno: 31. 12. 2009, 15:46:19
Máš špatně podmínku na řádku 4:
Nevidím definovanou proměnnou $fsoubor. Předpokládám, že jsi chtěl použít register globals. Nepoužívej register globals. Podmínka doslovně přeložena: „Pokud není definovaná proměnná $fsoubor, udělej tohle a tamto.“ (předpokládám, že má jít o $_FILES['fsoubor']). To znamená, že pokud uživatel nenahrát soubor, skript se bude chovat, jako by se soubor nahrát měl. Celé to vede k tomu, že $_FILES['fsoubor']['name'] je prázdná. Když je prázdná, nemůže mít na konci png, jpg, jpeg ani gif. Problém by se měl vyřešit nahrazením řádku 4 za: if(isset($_FILES['fsoubor']) && !empty($_FILES['fsoubor'])) { Není zač... |
||
Časová prodleva: 3 dny
|
|||
Jiko Profil * |
#3 · Zasláno: 3. 1. 2010, 16:08:29
Zdravím,
tak dneska jsem se dostal k tomu abych na stránce pracoval a váš kod funguje. Díky moc za radu |
||
Časová prodleva: 13 let
|
0