Teen kuvan kokomuutoksia php:llä ja näytän kuvan tyyliin .
Jostakin syystä tämä ei toimi, vaikka script.php itsekseen ajettuna tuottaa normaalin kuvan.
Onko vinkkejä mistä kiikastaa?
Jostakin syystä tämä ei toimi, vaikka script.php itsekseen ajettuna tuottaa normaalin kuvan.
Onko vinkkejä mistä kiikastaa?
Vastaukset 15
Vanhimmat
Kyllä sen pitäisi toimia, ja aika vaikea sanoa mistä kiikastaa kun ei nää koodia, joten laitappas se tänne.
Tulostaanko toi php scripti pelkän kuvan headereineen? Ei mitään tekstiä, html jne... kuvan lisäksi?
Jotta toi toimisi tolla tavalla, niin scripti ei saa tulostaa muutakuin pelkän kuvan
Sivu, joka kutsuu php-scripitä näyttää tältä, siinä tuo ylempi kuva näkyy normaalisti:
(listauksesta on jätetty pois aluku- ja loppu-tagit).
Ja "scripti.php" näyttää tältä:
header('Content-type: image/jpeg');
$imgfile = "001.jpg";
list($width, $height) = getimagesize($imgfile);
$newwidth = 80;
$newheight = 90;
$thumb = ImageCreateTrueColor($newwidth,$newheight);
$source = imagecreatefromjpeg($imgfile);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($thumb);
Tuo "scripti.php" toimii hyvin, erillisenä. Mutta kun yritän kutsua sitä img src:na niin ei toimi.
Olen älllikällä lyöty... Vinkkejä? Joku hyvä testi-sarja?
Onko selaimen mime-asetukset kunnossa?
Selaimet eivät ilmeisesti suostu näyttämään img-tagissa muuta kuin kuvatiedostoiksi määritellyt tiedostot. Siis tottakai selaimelle voisi kertoa että .php -päätteiset tiedostot ovat kuvia mutta eihän siinä olisi mitään järkeä.
Toisaalta sen scriptin voisi tallettaa nimelllä scripti.jpg ja määrittää palvelimelle että .jpg-päätteisistäkin ajetaan php-scriptejä mutta käytännössä tuokaan ei ole järkevä/käytännössä_mahdollinen vaihtoehto.
Se scripti.php pitäisi jotenkin saada nimettyä .jpg-päätteiseksi niin sitten ilmeisesti näkyisi.
Scriptihän toimii muuten ihan hyvin. Jos käyttää object -elementtiä niin homma hoituu hyvin. Ongelmana on sit tietysti toi ettei InternetExplorer ymmärrä tuota elementtiä (sehän liitettiin standardeihin vasta viime vuosituhannella, liian nopea aikataulu Microsoftille) joten sitä ei voi käytää.
Niin, mua kiinnostaisi kans saada tuo toimimaan. Sille kyllä löytyisi käyttöä..
*Selaimet eivät ilmeisesti suostu näyttämään img-tagissa muuta kuin kuvatiedostoiksi määritellyt tiedostot.*
Ilmeisesti käytäntö on muuttunut jokin aika sit?
Sillä muistan kun laskureissa käytettiin laskuri.php?tunnus=xxxx ja niitä kutsuttiin juuri img tagilla.
*Toisaalta sen scriptin voisi tallettaa nimelllä scripti.jpg ja määrittää palvelimelle että .jpg-päätteisistäkin ajetaan php-scriptejä mutta käytännössä tuokaan ei ole järkevä/käytännössä_mahdollinen vaihtoehto.*
Mahdollinen vaihtoehto on, sillä tietyn hakemistoon voi määritellä esim .htaccess avulla missä jpg tiedostot laitetaan tulkin kautta. Testasin ei toimi, joten vika on muualla, itse kuva näky script.jpg kautta, mutta ei enään img tagissa.
Testissä Firefox antoi välillä ilmoituksen, muistaakseni jotain, ettei kuvatiedostoa voi näyttää koska se on virheellinen, tai jotain sen suuntasta. Tämä viittaisi siihen, että php kuva functio tekee kuvan jotenkin väärin josta vika johtuu
*Selaimet eivät ilmeisesti suostu näyttämään img-tagissa muuta kuin kuvatiedostoiksi määritellyt tiedostot.*
Suostuvat, nyt tämäkin on todistettu. http://www.tarus.fi/index.php?ryhma=1&sivu=2543 siellä valokuvaajakuvan osoite on http://www.tarus.fi/tiedosto.php?kuva=4115 ja hyvin näyttää toimivan.
Ja nyt aamulla pirteänä, eikös se mime tyyppi juuri se millä selaimelle sanotaan mikä tuleva tiedosto on, eikä sillä tiedoston päätteellä ole suurtakaan merkitystä.
Tuolla taruksen palvelimella on php 4.3.3 ja palvelin millä itse testasin on vitossarjan uusin muistaakseni 5.02, oliskohan tällä asiaan jotain vaikutusta?
Vika oli todella yksinkertainen perus moka, niin yksinkertainen, ettei sitä helpolla huomaa ;)
Vika löytyy hmtl koodistasi, mutta sen saat keksiä itse ;))) vink, tarkista onko kaikki ihan oikein
*
*
Joo, "vika" todella löytyi. En tiedä pitäisikö hävetä mutta kun kyse ei ole ensimmäisestä kerrasta kun etsin mikroskoopilla vastaavanlaista vikaa löytämättä ...
No nyt löytyi, ja hyvin toimii. PHP rules. Kiitos!
Noin on känyt itse kullekkin ;)
Kannattaa laittaa html koodi http://validator.w3.org/ kautta se kertoo aika hyvin tommosista virheistä, jos se ei tuota tulosta niin koodi hetkes syrjään, myöhemmin huomaa tommoset virheet paremmin.
Sekä kannattaa käyttää koodin värjäävää editoria, sekin helpottaa kummasti koodaamista sekä vähentää virheitä. Itse käytän usein http://www.crimsoneditor.com/
Hyviä vinkkejä. Enimmäkseen näprään Dreamweaverilla, luulen, että siinä jopa on tuollainen mahdollisuus. Mutta kun on niin perhanan kiire koko ajan ettei ehdi miettiä sen tarkemmin!
Kyllä pitääkin olla sokea:(
* tuttaa*
Minä kun ole vähän alkaja vasta tuossa php:ssä niin mites tuosta saisi tehtyä function?
Yritin kyllä muttei onnistunut:
Ei toimi noin miten yritit, koska image tagista tulee silloin tämän tapainen
Yksvaihtoehto olis tehdä
Tässä on pien esimerkki mikä tekee koko imagetagin ja pienentää/suurentaa kuvan haluttuun kokoon, tietenkin kannattaisi lisätä semmonen juttu, joka säilyttäisi kuvan suhteen samana.
Tossa voi määritellä kuvan korkeuden ja leveyden, mikäli niitä ei ole, niin korkeus/leveys saa ylhäällä olevat oletusarvot.
kuva.php
Toi on sit nopeesti mietitty esimerkki, joten se on senmukainen. Käyttötarkoituksesta riippuen voisi olla kenties parempa, mikäli NaytaKuva functiolle ei anneta arvoja, niin se näyttäisi kuvan senkokoisena kuin se on, ilman että suurentaa/pienentää mihkään. Sekä noi pienennykset kannattaa tallentaa mikäli usein katsotaan niitä, kuten kuvagallerioissa.
Vai olikos sulla tarkoitus vain näyttää pelkkä kuva, ilman mitään muutoksia, niin silloin