Autor Zpráva
Gama
Profil *
Mám script, který by měl uploadnout obrázek na server, ale nefunguje. Nevíte proč?

<html>
<head><title>Upload</title></head>
<body>

<?

if ($akce == "Upload") { //kontrola zmáčknutí tlačítka
mysql_connect("***", "***", "***");
mysql_select_db("***"); //připojení a výběr db
$sql = "insert into `fotkypages` values ('$idecko', '$kategori', '$cas',
'$datum', '$soubor_name')"; //dotaz, který se odešle do db, když se povede
obrázek nahrát
$ftp_server = "***";
$conn_id = ftp_connect($ftp_server);
ftp_login($conn_id, "***", "***"); //připojení k ftp
$adresar = "/fotky"; //adresář pro fotky
if ($soubor_type == "text/plain" or $soubor_type="text/html") { //kontrola
správnosti typu souboru
if (move_uploaded_file($soubor_name, $adresar)) { //přesunutí souboru do
adresáře
echo "Soubor $soubor_name s velikostí $soubor_size bajtů byl úspěšně
uploadován na server<br>";
mysql_query($sql);
}
else {
echo "Při nahrávání souboru došlo k chybě!<br>";
}
}
else {
echo "Soubor není požadového MIME typu!<br>";
}
}


?>

<hr size="1" noshade>

Zadejte jméno souboru:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="soubor" size="30">
<br>
<br>
Akce:<input type="text" name="kategori" size="30">
<br>
<br>

<input type="submit" name="akce" value="Upload">
<br>

</form>

</body>
</html>
Joker
Profil
Asi je to rozbitý. Jakou to napíše chybu?
Gama
Profil *
Ono to jenom napíše, že při nahrávání došlo k chybě (2. podmínka).
Joker
Profil
Což znamená, že selhalo volání move_uploaded_file($soubor_name, $adresar)

$soubor_name je co? Kde se to nastavuje?
Má skript práva pro zápis do adresáře, kam se kopíruje?
Gama
Profil *
Teoreticky by to měl být název obrázku (třeba obrazek.jpg)
A jestli má script právo pro zápis nevim. Stránky jsou na ic a žádný podobný práva jsem tam nenastavoval.
Petr Tichý
Profil
Gama
Vypiš proměnnou a podívej se, zda-li tam opravdu je to, co tam má být.

Nastav adresáři, kam se zapisuje, atributy 777.
Gama
Profil *
V proměnný $soubor_name je skutečně název obrázku (obrazek.jpg), ale nevim, jakl nastavit atributy 777. Mám stránky na ic a nic podobnýho jsem nenastavoval.
Gama
Profil *
Ha, tak 777 se mi povedlo nastavit. V proměnné je to co tam má být, ale k mému překvapení se opět vypsalo: Při nahrávání souboru došlo k chybě.
asd
Profil *
co změnit tuto
$soubor_type == "text/plain" za
$soubor_type == "image/jpeg"
Gama
Profil *
To asd: Tak jsem to změnil a výsledek stejný. Souhlasim s Jokerem, že chyba bude někde kolem move_uploaded_file.
Erik
Profil *
Zkus toto http://kb.forpsi.com/article.php?id=372
Chybí ti tam ta část s temp adresářem, obrázek se nejdříve uloží do tempu a teprve potom ho můžeš uložit do té složky "fotky"(ale musí to býtz toho tempu...).

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: