problem s uploadem

Mam problem ohledne uploadovani souboru, myslim si ze by mohla byt chybka v tom zadavani cesty pro ulozeni (mohu tam vubec rvat absolutni adresu?). Prosim omrknente ten kod a poradte mi.


Diky Michal




if ($soubor_type == "text/plain" or $soubor_type="text/html")

{
echo "soubor je textovy nebo HTML";

if (copy ($soubor, "http://bundeswehr2.wz.cz/pokus/$soubor_name"))

{
echo "Soubor $soubor_name o velikosti $soubor_size bajtù
byl úspìšnì uploadnut na server<BR>";

/*
mail ("spravce@muj_server.cz", "Upload souboru $soubor_name",
"Na server byl nahrán soubor /data/$soubor_name\n",
"From: system@muj_server.cz\nX-web: http://www.muj_server.cz/system/upload.php");
*/
}

else

{
echo "Pri nahrávání souboru došlo k chybì!<BR>";
}
}

else

{
print "Soubor není požadového MIME typu!<BR>";
}
Místo copy() bych spíš zkusil:

move_uploaded_file()
if ($soubor_type == "text/plain" or $soubor_type="text/html")

{
echo "soubor je textovy nebo HTML";

if (move_uploaded_file($_FILES['soubor'], "/3w/wz.cz/b/bundeswehr2/pokus/$soubor_name"))

{
echo "Soubor $soubor_name o velikosti $soubor_size bajtù
byl úspìšnì uploadnut na server<BR>";

/*
mail ("spravce@muj_server.cz", "Upload souboru $soubor_name",
"Na server byl nahrán soubor /data/$soubor_name\n",
"From: system@muj_server.cz\nX-web: http://www.muj_server.cz/system/upload.php");
*/
}

else

{
echo "Pri nahrávání souboru došlo k chybì!<BR>";
}
}

else

{
print "Soubor není požadového MIME typu!<BR>";
}
Nebo radeji takto:

if (move_uploaded_file($_FILES['soubor']['tmp_name'], "/3w/wz.cz/b/bundeswehr2/pokus/$soubor_name"))
Sojkovče, vždyt je to téměř to, co jsem psal já
Petr: Prohozeni tech funkci nestaci. Ostatne je tam chyba v ceste...
Dekuji za rady, ale porad mi to nefacha...

uvadim tedy oba soubory (1. formularovy a 2. je zpracovavajici skript)

1. index.php


<form action="zpracuj.php" method="POST" ENCTYPE="multipart/form-data">

<input type ="file" name="soubor" size="30">
<input type = submit name="vodpal" value="Odesli">

</form>






2. zpracuj.php


if ($soubor_type == "text/plain" or $soubor_type="text/html")

{
echo "soubor je textovy nebo HTML";

if (move_uploaded_file($_FILES['soubor']['tmp_name'], "/3w/wz.cz/bundeswehr2/pokus/$soubor_name"))

{
echo "Soubor $soubor_name o velikosti $soubor_size bajtu
byl úspišni uploadnut na server<BR>";

/*
mail ("spravce@muj_server.cz", "Upload souboru $soubor_name",
"Na server byl nahrán soubor /data/$soubor_name\n",
"From: system@muj_server.cz\nX-web: http://www.muj_server.cz/system/upload.php");
*/
}

else

{
echo "Pri nahrávání souboru došlo k chybi!<BR>";
}
}

else

{
print "Soubor není požadového MIME typu!<BR>";
}


Predem dekuji ya jakoukoliv pomoc
Hele uděláme to jednodušeji. Já ti sem pošlu skript na upload obrázků, kterej mi bezpečně funguje. Takže si z toho něco vytáhni. Obrázky se mi nahrávyly do složky "images", kterou jsem si musel vytvořit a která je na tomto řádku:

>> if (move_uploaded_file ($soubor, "./images/$soubor_name")) {

... jinak je to celý jeden soubor:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<head>
<title>Upload souboru</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data" accept="image/*">
<input type="file" accept="image/*" name="soubor" />
<input type="submit" value="Uploaduj!" />
</form>
</body>


<?
if (is_uploaded_file($soubor)) {
if (move_uploaded_file ($soubor, "./images/$soubor_name")) {
print "Soubor <b>$soubor_name</b> o velikosti <i>$soubor_size bajtů</i> byl úspěšně nahrán na server";
}
}
?>
Diky moc Petře.....už to šlape

BTW más dobrý testy....
Not at all
Udelal jsem chybu v ceste...

move_uploaded_file($_FILES['soubor']['tmp_name'], "/3w/wz.cz/b/bundeswehr2/pokus/$soubor_name");

Tahle cesta musi byt ta sama, jako mas v administraci, nebo jen "./pokus/xxxx.xxx"
Diky sojkowce.....
môžme sa trápiť,
podpora mi napísala, že boli zle nastavené práva pre adresá.
To si môžem aj ja nastavovať práva?
A ako?
Viete, som windowsák
Prava muzes nastavovat jen u sveho uctu. Muzes pres PHP nebo pres FTP (Total commanderem je to stejne, jako menit atributy souboru)
mohol by si mi prosím trošku opísať, ako nastavím právo pre upload pre všetkých cez php?
ďakujem
Nepotrebujes nastavit prava pro upload. Misto copy() musis pouzit move_uploaded_file(), viz vyse..