Autor Zpráva
w8
Profil *
Ahoj, je neco spatne na tomto kodu? Nejak mi to naloaduje... :-C

<?php
require "databaze.php";
$patch_obr = 'obrazky/'
?>

<h4>Vložit obrázek</h4>
<form action="#" method="post" enctype="multipart/form-data" >
<table border="0" align="center">
<tr>
<td><input type="file" name="obr" class="input" /></td>
<td><input type="submit" class="input"
value="nahrát"/></td>
</tr>
</table>
</form>

<?php
if(!isset($_POST['obr'])){

if( @exif_imagetype($_FILES['obr']['tmp_name']) == IMAGETYPE_GIF
or
@exif_imagetype($_FILES['obr']['tmp_name']) == IMAGETYPE_JPG
or
@exif_imagetype($_FILES['obr']['tmp_name']) == IMAGETYPE_JPEG
or
@exif_imagetype($_FILES['obr']['tmp_name']) == IMAGETYPE_PNG){

$cil_obr = strtolower($patch_obr.$_FILES['obr']['name']);
$check = @move_uploaded_file($_FILES['obr']['tmp_name'],
$cil_obr);
echo "Obrázek ".$_FILES['obr']['name']." byl uložen";
}else{
echo 'Povelené jsou pouze formáty JPG, GIF, PNG';
echo '<br />';

}
}


?>

dik
Anonymní
Profil *
co takto odstranit @ pred funkciami a kuknut co povie error? hm
jonge
Profil
if(!isset($_POST['obr']))

nemá to být bez toho vykřičníku??? :-/
Karaya1
Profil *
Špatně je to, že se soubor vůbec v proměnné POST neobjeví... Je pouze ve FILES, tedy lze místo
if (!isset($_POST['obr'])) // což je stejně imho logicky obráceně, než chceš, viz jonge :o)

if ( $_FILES['obr']['name'] ) // tohle úplně stačí; i když nepošleš žádný soubor, proměnná FILES tu furt bude - ovšem prázdná.

Můžeš si to vše otestovat na následujícím kousku kódu (je to myslím i někde v manuálu...):
<?php

if ( isset ( $_GET['on'] ) )
{
print_r ( $_POST );
print_r ( $_FILES );
exit;
}
?>
<form action="test.php?on" method="post" enctype="multipart/form-data">
<input type="text" name="text" value="nejaky text" /><br />
<input type="file" name="file" /><br />
<input type="submit">
</form>
w8
Profil *
A jak nadefinuji, kam se mi má obrázek nahrát?
Karaya1
Profil *
Obrazek se vždy nahraje do nějakého dočasného umístění, odkud ho do konečné destinace musíš přesunout pomocí move_uploaded_file. Doporučuji projít si PHP manuál, začít můžeš třeba tady: http://cz2.php.net/manual/en/features.file-upload.php.
w8
Profil *
U tohoto skriptu se definuje cesta tady


<?php
require "databaze.php";
$patch_obr = 'obrazky/'
?>


Takhle to funguje.

Ale ta slozka s uploadem je v nekolika podadresarich, a ja ji chci nahrat do adresare soubory, ktery je hned v hlavnim adresari. Asi takhle:




<?php
require "databaze.php";
$patch_obr = 'http://stranka.cz/obrazky/'
?>


S tim ze takhle se to nenahraje nikam, poradite, jak nadefinovat tu cestu primo? DIky...
(zkousel sem document_root, ale bylo to porad spatne...)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0