Alla on kuvien uppimiseen tarkoitettu skripti. Move_uploaded_file ei jostain syystä siirrä kuvatiedostoa uuteen kansioon.
Uppiminen siis onnistuu, mutta tiedosto ei koskaan siirry oikeaan kansioonsa. Permissiot ovat oikein sekä lähettävässä- että kohde-kansiossa. Mikä tässä mättää?
//Maximi koko tähän. Esim. 350000 = 350kb.
$max_koko = 350000;
$nimi = $_POST['nimi'];
$linkki = $_POST['linkki'];
//Tarkastetaan päätteet ja tiedoston lähetys
if(isset($_POST["lahetys"]))
{
if((!empty($_FILES["uploaded_file"])) && ($_FILES["uploaded_file"]['error'] == 0))
{
//Tarkastetaan kuva (koko ja pääte)
$filename = basename($_FILES['uploaded_file']['name']);
//Haetaan pääte
$ext = substr($filename, strrpos($filename, '.') 1);
//Tarkastetaan mime-tyyppi
if (($ext == "jpg" || $ext == "jpeg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && ($_FILES["uploaded_file"]["size"] < $max_koko) || ($ext == "gif") && ($_FILES["uploaded_file"]["type"] == "image/gif") && ($_FILES["uploaded_file"]["size"] < $max_koko) || ($ext == "png") && ($_FILES["uploaded_file"]["type"] == "image/png") && ($_FILES["uploaded_file"]["size"] < $max_koko))
{
//Valitaan paikka johon tiedosto tallennetaan
$newname = realpath("../kuva/uusi_").$filename;
//$newname = dirname(__FILE__).'../kuva/'.$filename;
//Tarkastetaan, onko tiedosto jo serverillä
if (!file_exists($newname))
{
if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname)))
{
$sql_lauseke = "insert into kuva(nimi,linkki, tiedostonimi) values ('$nimi','$linkki', 'uusi_$filename')";
if(!$kysely = mysql_query($sql_lauseke))
{
print "Haku epäonnistui. Virhe:".mysql_error();
}
else
{
print "Lähetys onnistui!";
}
}
else
{
print "Virhe: Lähetyksen aikana tapahtui virhe!";
}
}
else
{
print "Virhe: Tiedosto ".$_FILES["uploaded_file"]["name"]." on jo olemassa.";
}
}
else
{
print "Virhe: Vain .jpg, .png ja .gif -päätteiset tiedostot kelpaavat. Max. koko on 350kb. ";
}
}
else
{
print "Virhe: Tiedostoa ei lähetetty!";
}
}
move_uploaded_file ei toimi palvelimella
2
378
Vastaukset
- On!!
Oudointa on, ettei php anna minkäänlaista ilmoitusta tiedonsiirron epäonnistumisesta, vaikka lisäisinkin skriptiin .mysql_error(); ......
- juhakorkeapudas
Ainakin tiedoston polussa näyttäisi olevan vikaa koska käytät siinä realpath-funktiota, joka poistaa relatiiviset viittaukset.
"Oudointa on, ettei php anna minkäänlaista ilmoitusta tiedonsiirron epäonnistumisesta, vaikka lisäisinkin skriptiin .mysql_error()"
- Funktio [move_uploaded_file] palauttaa joko true tai false sen mukaan, onnistuiko tiedoston siirto vai ei. mysql_error - funktiolla ei ole mitään tekemistä tämän asian kanssa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Näin tyhmä vasemmistolainen on: "S-kaupoissa on nykyään ihanaa käydä
kun siellä ei ole hihhuleita eikä persuja." Vain tyhmä eli heikkoälyinen vasemmistolainen voi tehdä noin lapsellisia ju524377S-kaupoissa on nykyään ihanaa käydä
Kun niissä ei enää käy satuolentoihin uskovat hihhuIit eivätkä persut. Asiakaskunta on huomattavasti siistiytynyt muutam1114199Riikka runnoo! Uutta velkaa tänä vuonna 17 mrd. euroa
Tirsk. Nyt kyllä hihityttää kuin pientä eläintä. Riikka takoo maailmanennätyksiä tasaiseen tahtiin. " [Riikka] joutuu424100Suomessa on ollut suurtyöttömyyttä ennenkin, ja lääkäriin pääsee nykyäänkin
Täällähän oli jonkun sekopään(vas.) juttu, että ennen ei ollut työttömyyttä ja lääkäriin pääsi. Siihen alkoi tietysti ko693958- 853374
Kysymys: Kuinka moneen maahan neuvosto-venäjä on hyökännyt
viimeisten 90-vuoden aikana? Ja lähinnä on siis kyse neuvosto-venäjän naapurimaista - kuten Suomesta. Lista on huomatta673269IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?
16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan1523241Kun aika on oikea niin
Tupsahdat uudelleen tai löydän edes melkein yhtä ihanan ja joudun tyytymään... Suukko poskelles. 😘 Viattomasti vain.. �171592- 451531
Jos sulla ei olis ollut tunteita
Tuskin olisit reagoinut niin voimakkaasti, mies? Vai oliko vetäytymiseen jokin muu syy kuin luulit ettei mua kiinnosta?1291140