Suppelars2k Skrevet 8. august 2004 Del Skrevet 8. august 2004 Vær hilset. Lar det seg gjøre å bruke et PHP-skript for å "bytte om" på et bilde? Jeg mener ikke slik at forskjellige bilder lastes ved hjelp av at skriptet som bytter filnavn i HTML. Jeg mener slik at jeg f.eks har adressen "http://host.com/bilde.gif" gir et forskjellig bilde (i tilfeldig rekkefølge?) for hver gang den lastes? Bildene bør kunne velges ut av en mappe. Finnes det noe slikt pre-produsert, eventuellt hvor får jeg tak i det? Takker for hjelpen. Lenke til kommentar
Gilbert Skrevet 8. august 2004 Del Skrevet 8. august 2004 kan godt lage et fett script som bytter ut til et tilfeldig bildenavn, eller et script som velger et tilfeldig bilde i en mappe, renamer det til bilde.gif og viser det, men har ikke hørt om noe som endrer et bilde uten å endre filnavn... Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 Hmm. Så lenge det funker kjappt som fy (skal brukes til å bytte avatarer), og benytter samme filnavn uansett bilde, så skulle det funke. Lenke til kommentar
Gilbert Skrevet 8. august 2004 Del Skrevet 8. august 2004 et script som velger et tilfeldig bilde i en mappe, renamer det til bilde.gif og viser det, er ikke særlig kjapt gitt. en hel del renaming av bilder må til, og det tar så vidt jeg vet tid Lenke til kommentar
LoS Skrevet 8. august 2004 Del Skrevet 8. august 2004 (endret) Men må du ikke da kjøre scriptet manuelt og da? Tester litt selv her, men har ikke fått det til enda. edit: utfordring! Endret 8. august 2004 av LoS Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 et script som velger et tilfeldig bilde i en mappe, renamer det til bilde.gif og viser det, er ikke særlig kjapt gitt. en hel del renaming av bilder må til, og det tar så vidt jeg vet tid Jeg tror nok ikke det nødvendigvis må rename. Scriptet vil sende den-og-den infoen fra server, bare under et ebstemt navn. Jeg har sett lignende script i aksjon før også, men det var noe galt med linkene jeg til slitt fant. Lenke til kommentar
Gilbert Skrevet 8. august 2004 Del Skrevet 8. august 2004 hmz... sitter og ser på en sånn som endrer bilde ettersom jeg er online/offline msn... *redigerer innlegget når jeg finner den* Lenke til kommentar
LoS Skrevet 8. august 2004 Del Skrevet 8. august 2004 Har faktiskt fått en sak til å funke nå, men skulle teste på forumet her så måtte filendelsen være .jpg osv :| og php kjører som kjent ikke som jpg Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 Altså, det er akkurat DER problemet ligger. Det du har laget der finnes det 3000 av allerede. Hele poenget er at det IKKE kan inkluderes som en PHP-fil... Lenke til kommentar
Nervetattoo Skrevet 8. august 2004 Del Skrevet 8. august 2004 Kan du ikke fysisk skrive inn en fil med php ending? Eller bestemmes det bare ut i fra content-type. Går fint å lage et php skript som sender content type image/noe og så printer ut et bilde, så det funker akkurat som et bilde. Om det går er det null problem og velge et tilfeldig bilde fra en mappe. Om du må ha jpg filending kan du bytte ut bildet og rename og greier, men da må noe kalle php filen. Eller så er det vell kanskje mulig og trikse til i apache og php innstillinger for å få jpg filer til å bli behandlet som php filer og ta det derfra. Og hva er "kjapt som fy" ? Lenke til kommentar
LoS Skrevet 8. august 2004 Del Skrevet 8. august 2004 HalTan, vil jeg tro, men, er jo ikke ferdig enda Men nå må man begynne å tenk litt isteden. Noen som har en idè? Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 Kan du ikke fysisk skrive inn en fil med php ending? Nei, det skal brukes til å bytte på avatarer på et forum *host*, så kun gif. png. og jpg. er lov. Serverside kan IKKE inkluderes direkte, med andre ord. Eller bestemmes det bare ut i fra content-type.Går fint å lage et php skript som sender content type image/noe og så printer ut et bilde, så det funker akkurat som et bilde. Les over. Om du må ha jpg filending kan du bytte ut bildet og rename og greier, men da må noe kalle php filen. Poenget blir vel at serveren selv må eksekvere PHP-scriptet om et visst bilde lastes ned. Og hva er "kjapt som fy" ? Slik at man i praksis slipper å vente. Lenke til kommentar
Lokaltog Skrevet 8. august 2004 Del Skrevet 8. august 2004 (endret) Jeg har et GENIALT avatarscript liggende som lar serveren parse en fil med .jpg-endelse som et PHP-script (scriptet heter avatar.jpg og funker fett i forumet), mens det egentlig er et PHP-script som returnerer et jpg-bilde ettersom en bruker spør etter filen. *finne frem* Edit: 666 innlegg Endret 8. august 2004 av lokaltog Lenke til kommentar
Lokaltog Skrevet 8. august 2004 Del Skrevet 8. august 2004 Fremgangsmåte: Det er lurt å legge scriptet i en egen mappe på serveren slik at ikke alle jpg-filer parses som PHP. Lag en mappe som heter avatar på serveren og legg en .htaccess-fil med følgende informasjon der: AddType application/x-httpd-php .jpg Så lager du et PHP-script etter din smak som kanskje returnerer forskjellig avatar for hver gang scriptet kjøres. Scriptet kaller du avatar.jpg, og legger i samme mappe som .htaccess-fila. Åpne avatar.jpg og skriv inn koden. For eksempel brukte jeg denne koden for å printe tidspunkt og dato i avataren min for en stund siden: <?php setlocale(LC_ALL, 'no_NO', 'nor_nor'); header("Cache-Control: public, max-age=3600"); header("Content-Type: image/jpeg"); $file = "avatar.png"; $time = time() + 21600; $image = imagecreatefrompng($file); $color = imagecolorallocate($image, 220, 220, 220); $box = imagettfbbox(13, 0, "gothicb.ttf", strftime("%H:%M", $time)); $x_l = min($box[0], $box[6]); $x_r = max($box[2], $box[4]); $x_w = $x_r - $x_l; $x = ceil((80 - $x_w) / 2); imagettftext($image, 13, 0, $x, 16, $color, "gothicb.ttf", strftime("%H:%M", $time)); $box = imagettfbbox(10, 0, "gothic.ttf", ucwords(strftime("%A", $time))); $x_l = min($box[0], $box[6]); $x_r = max($box[2], $box[4]); $x_w = $x_r - $x_l; $x = ceil((80 - $x_w) / 2); imagettftext($image, 10, 0, $x, 28, $color, "gothic.ttf", ucwords(strftime("%A", $time))); imagejpeg($image, NULL, 92); ?> Legg merke til de to headerene som sendes i toppen av dokumentet - DEN 2. HEADEREN ER VIKTIG! Den forteller nettleseren at dataene som sendes er i jpeg-format. Husk å sjekke at filen som returneres er mindre enn 6kB (ved å lagre og sjekke filstørrelse). @HalTan: Hva vil du at scriptet skal gjøre? Skriver det mer enn gjerne for deg! Lenke til kommentar
LoS Skrevet 8. august 2004 Del Skrevet 8. august 2004 Oi, viste ikke at man kunne skrive det der i en htaccess fil =) Rått. Har forresten det lille jeg har skrevet, litt småtungvint, men det velger jo random <?php header('Content-type: image/jpeg'); $rand = rand(1,10); $im = imagecreatefromjpeg('bilder/'.$rand.'.jpg'); Imagejpeg($im,'',100); ImageDestroy($im); ?> Henter ut fra mappen "bilder" der navna bare er 1.jpg og opp til 10.jpg, bare å bytte det siste tallet i rand hvis du vil ha fler/mindre. Ja, tungvint, men det er raskt Lenke til kommentar
Lokaltog Skrevet 8. august 2004 Del Skrevet 8. august 2004 Oi, viste ikke at man kunne skrive det der i en htaccess fil =) Fant metoden ved en tilfeldighet.. Skulle bare teste om det funket, og så kom jeg på at jeg kunne bruke det til avatar.. Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 (endret) EY! Jeg vil at scriptet skal tilfeldig velge ett bilde jeg legger i en bestemt mappe, og laste det opp ved request, slik at jeg på èn forumside f.eks kan ha 3-4 avatarere nedover, forskjellige i hver post. Hadde vært SUPERT om du fiksa det. Kall bildet for "avatar.gif". Endret 8. august 2004 av HalTan Lenke til kommentar
Lokaltog Skrevet 8. august 2004 Del Skrevet 8. august 2004 (endret) EY! Jeg vil at scriptet skal tilfeldig velge ett bilde jeg legger i en bestemt mappe, og laste det opp ved request, slik at jeg på èn forumside f.eks kan ha 3-4 avatarere nedover, forskjellige i hver post. Hadde vært SUPERT om du fiksa det. Kall bildet for "avatar.gif". Høres ut som et fancy prosjekt, men tror det er umulig å gjennomføre det du spør om i praksis. Det er fordi nettleseren cacher "avatar.gif" for den ene siden det vises på, og bildet vil være det samme over hele siden. Tror ikke det finnes en form for cache-control som tillater bildet å bli forespurt flere ganger i et dokument. Forestill deg, nettleseren henter et bilde "avatar.gif" fra din server. Den henter det bildet og renderer det bildet i alle img-tagger som spør etter akkurat det bildet. Hvis du da oppdaterer dokumentet vil browseren sende en ny request, og bildet kan bli oppdatert igjen. Men om det er ok med en avatar som skifter per side som vises / per request, kan jeg gjerne lage et slikt script til deg. Endret 8. august 2004 av lokaltog Lenke til kommentar
Suppelars2k Skrevet 8. august 2004 Forfatter Del Skrevet 8. august 2004 Ah, det er sant! Men ja, det høres bra ut! Takker og bukker. Lenke til kommentar
Lokaltog Skrevet 8. august 2004 Del Skrevet 8. august 2004 (endret) /avatar/.htaccess AddType application/x-httpd-php .jpg /avatar/avatar.jpg <?php header('Content-Type: image/jpeg'); // Definerer innholdstype header('Cache-Control: no-cache'); // Gjør at nettleseren sender ny request for hver side $bilder = array( 'bilde1.jpg', 'bilde2.jpg', 'bilde3.jpg' ); // Funker kun med jpg-filer! Legg til så mange du vil her. $rnd = round(rand(0, count($bilder) - 1)); // Lager nummer $im = imagecreatefromjpeg($bilder[$rnd]); // Lager bilderessurs imagejpeg($im, NULL, 90); // Siste tall er jpeg-kvaliteten! imagedestroy($im); // Frigjør ressurser ?> Si ifra om det oppstår noen uventede bugs. Endret 8. august 2004 av lokaltog Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå