olisiko joku nähnyt missään mitään php scriptiä joka uploadaisi kuvatiedostoja niin että siinä on vain kenttä mihin laitettaisiin osoite missä kuva on esim c/kuva.gif vai mitenkä tuo nyt olisi (ja tietysti siinä täytyy olla selaa namiska) ja kun se on sen uploadinu ni ei pakollista mutta vois kertoa kuvan ominaisuuksia esim koko 81kt jne. ja sitten kertoisi suoran osoitteen missä kuva on esim http://www.jokuhosti/jotn.fi/kuva.gif jotta sen voi siitä sittten nopeasti copsata
Esimerkki Mureawikiin tekemästäni PHP-oppaasta:
http://wiki.mureakuha.com/wiki/PHP-opas#Tiedostojen_l.C3.A4hett.C3.A4minen_.28.24_FILES.29
Laheta.php
<form action="vastaanota.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <!--Määritellään maksimikoko tavuina, helposti kierrettävissä mutta ihan käytettävyydenkin kannalta hyvä olla--> <input type="hidden" name="MAX_FILE_SIZE" value="1024" /> <input type="submit" /> </form>
Vastaanota.php
<?php //Asetukset alkavat //Sallittuihin päätteisiin avaimeksi täältä saatu avain halutuille kuvatyypeille: // https://www.php.net/manual/fi/function.getimagesize.php $asetukset['sallitut_päätteet'] = array(1 => "gif", 3 => "png", 2 => "jpg"); $asetukset['kuvan_maxleveys'] = 400; $asetukset['kuvan_maxkorkeus'] = 300; $asetukset['kuvan_maxkoko'] = 20; //Kilotavuina $asetukset['latauskansio'] = './uploads/'; //Asetukset päättyvät if (!empty($_FILES['file']['name'])) { //Tarkistukset alkavat //Kuvan päätteen tarkistus alkaa //Haetaan viimeisen pisteen jälkeen tulevat merkit, jotka siis määräävät kuvan päätteen $kuvan_pääte = substr(strtolower($_FILES['file']['name']), strrpos($_FILES['file']['name'], ".")+1); if (in_array($kuvan_pääte, $asetukset['sallitut_päätteet']) === false) { $virhe .= "Väärä pääte, sinun oli $kuvan_pääte kun sallitut päätteet ovat "; $virhe .= implode(", ", $asetukset['sallitut_päätteet']).".<br />\n"; } //Kuvan päätteen tarkistus päättyy //Kuvan koon tarkistus ja validointi alkaa //Getimagesize hakee kuvasta erinäisiä tietoja, kuten sen fyysisen koon. //Samoin se palauttaa virheen mikäli kuva ei ole kuva laisinkaan if ($kuvan_tiedot = getimagesize($_FILES['file']['tmp_name'])) { $kuvan_leveys = $kuvan_tiedot[0]; $kuvan_korkeus = $kuvan_tiedot[1]; $kuvan_tyyppi = $asetukset['sallitut_päätteet'][$kuvan_tiedot[2]]; $kuvan_koko = round(filesize($_FILES['file']['tmp_name']) / 1024, 1); //Leveyden tarkistus if ($kuvan_leveys > $asetukset['kuvan_maxleveys']) $virhe .= "Kuva on liian leveä, {$kuvan_leveys} px kun maksimileveys on {$asetukset['kuvan_maxleveys']} px.<br />\n"; //Korkeuden tarkistus if ($kuvan_korkeus > $asetukset['kuvan_maxkorkeus']) $virhe .= "Kuva on liian korkea, {$kuvan_leveys} px kun maksimikorkeus on {$asetukset['kuvan_maxkorkeus']} px.<br />\n"; //Koon tarkistus if ($kuvan_koko > $asetukset['kuvan_maxkoko']) $virhe .= "Kuva on liian suuri, $kuvan_koko Kt kun maksimikoko on {$asetukset['kuvan_maxkoko']} Kt.<br />\n"; //Tyypin tarkistus if (in_array($kuvan_tyyppi, $asetukset['sallitut_päätteet']) === false) $virhe .= "Kuvan tyyppi ei ole tuettu, sallitut päätteet ovat ".implode(", ", $asetukset['sallitut_päätteet']).".<br />\n"; //Tarkistetaan ettei kuvan nimi ole jo käytössä if (is_file($asetukset['latauskansio'].$_FILES['file']['name'])) $virhe .= "Tällä nimellä on jo tiedosto ladattuna, valitse eri nimi.<br />\n"; } else exit('Kuvaa ei tunnistettu kuvaksi.'); //Kuvan koon tarkistus ja validointi päättyy if ($virhe) exit($virhe); //Tarkistukset päättyvät //Kuvan siirtäminen haluttuun paikkaan alkaa if (move_uploaded_file($_FILES['file']['tmp_name'], $asetukset['latauskansio'].$_FILES['file']['name'])) echo "Tiedosto siirretty onnistuneesti. "; else { //Poistetaan väliaikaistiedosto unlink($_FILES['file']['tmp_name']); exit("Tiedoston siirtäminen lopulliseen kansioon epäonnistui."); } //Kuvan siirtäminen haluttuun paikkaan päättyy } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.