WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Visa ny logga varje dag (https://www.wn.se/forum/showthread.php?t=37142)

AlternativePhotography 2009-05-31 11:59

Hej!
Jag är ny på php, och försöker få en logga att visas beroende på vilken dag det är, t.ex. julafton osv... kan inte få det att funka.
Hittade ett script och beskrivning här:
http://www.thisismyurl.com/tutorials...o-on-holidays/

Tyckte jag gjorde som det stod, det här är koden jag använde:
<?php
if(file_exists('/grafix/ap_logo_'.date('Y-m-d').'.gif')) {
$file = date('Y-m-d');
} else {
$file = 'standard';
}
?>
<img src='/grafix/ap_logo_<?php echo $file;?>.gif' alt='AlternativePhotography logo <?php date('Y-m-d');?>'/>

Resultatet är bara en text sträng:
AlternativePhotography logo <?php date('/>

Provade även dubbel-fnuttar på ímg taggen:
[img]/grafix/ap_logo_<?php echo $file;?>.gif[/img]"/>
Men det funkade inte heller...

Har döpt loggorna till:
ap_logo_standard.gif
ap_logo_2009-05-31.gif
ap_logo_2009-06-01.gif
ap_logo_2009-06-01.gif

Sidan jag leker med är här:
http://www.alternativephotography.com/about.html
Skriptet är längst ner, under alla olika loggor, under rubriken "Test".
Någon som vet vad felet är?
Tacksam för hjälp!

KarlRoos 2009-05-31 12:16

Kod:

// Mappen med bilder
$folder = '/images/';

// Filändelse
$ext = '.png';

// Datumet idag
$date = date('Y-m-d');

if(file_exits($image.$date.$ext))
{
$file = $image.$date.$ext;
}
else
{
$file = $image.'default'.$ext;
}

echo '<img src="'.$file.'" alt="Logo" />';

Koden beskriver sig själv, otestat.. bör fungera :)

AlternativePhotography 2009-05-31 12:24

Hmmm... jag är en php-nollla, erkänner jag direkt... nu gjorde jag så här:

<?php
// Mappen med bilder
$folder = '/grafix/';
// Filändelse
$ext = '.gif';
// Datumet idag
$date = date('Y-m-d');
if(file_exits($image.$date.$ext))
{
$file = $image.$date.$ext;
}
else
{
$file = $image.'ap_logo_standard'.$ext;
}
echo '[img]'.$file.'[/img]';?>'/>

och bara detta visas:
';?>'/>

AlternativePhotography 2009-05-31 12:25

Tror det är något fel på öppnings och stängningstaggen för php?
Dokumentet heter .html, borde det heta .php istället...? Använder html transitional.

KarlRoos 2009-05-31 12:31

Citat:

Originally posted by AlternativePhotography@May 31 2009, 12:25
Tror det är något fel på öppnings och stängningstaggen för php?
Dokumentet heter .html, borde det heta .php istället...? Använder html transitional.

Det borde det om du inte har ställt in så att .html skall användas likadant som .php (antagligen inte).

AlternativePhotography 2009-05-31 12:42

Nu provade jag det här:
<?php
$date = date('Y-m-d');
if(file_exits('/grafix/ap_logo_'.$date.'gif'))
{
$file = '/grafix/ap_logo_'.$date.'gif';
}
else
{
$file = '/grafix/ap_logo_.standard.gif'
}
?>
<img src='<?php echo $file;?>' alt="AlternativePhotography logo"/>

Och nu visas alt-taggen i alla fall... men vad gör jag för fel?

KarlRoos 2009-05-31 12:45

Du har missat en ; på rad 10 ;)

Kod:

$file = '/grafix/ap_logo_.standard.gif'
skall vara...
Kod:

$file = '/grafix/ap_logo_.standard.gif';
Du har även skrivit file_exits istället för exists... vilket är mitt fel eftersom att jag skrev det felet i mitt tidigare exempel.

AlternativePhotography 2009-05-31 12:52

Tack för ditt tålamod... men funkar inte fortfarande... nu ser koden ut så här:

<?php
$date = date('Y-m-d');
if(file_exists('/grafix/ap_logo_'.$date.'.gif'))
{
$file = '/grafix/ap_logo_'.$date.'.gif';
}
else
{
$file = '/grafix/ap_logo_standard.gif';
}
?>
[img]<?php echo $file;?>[/img]

och bara alt texten visas fortfarande...

AlternativePhotography 2009-05-31 12:59

ska datumet kanske vara i annat format? t.ex. yyyy-mm-dd? Filnamnen är så här:
ap_logo_2009-05-31.gif
och har även sparat en så här:
ap_logo_09-05-31.gif

greenio.se 2009-05-31 13:25

date("Y-m-d") producerar 2009-05-31 t.ex så det är redan rätt. Jag körde koden ovan och fick helt korrekt.

Citat:

[img]/grafix/ap_logo_standard.gif[/img]
men såklart visas bara alt-taggen eftersom jag inte har den bilden. :)

Däremot behöver du ändra den här raden:

Citat:

if(file_exists('/grafix/ap_logo_'.$date.'.gif'))
till

Citat:

if(file_exists('grafix/ap_logo_'.$date.'.gif'))
om den delen av koden ska funka, annars kommer php inte hitta filen :)

AlternativePhotography 2009-05-31 13:31

Ok, har ändrat, men funkar fortfarande inte... nu ser koden ut så här:

<?php
$date = date('Y-m-d');
if(file_exists('grafix/ap_logo_'.$date.'.gif'))
{
$file = 'grafix/ap_logo_'.$date.'.gif';
}
else
{
$file = 'grafix/ap_logo_standard.gif';
}
?>
[img]<?php echo $file;?>[/img]

Är det någon punkt fel, eller något?
Och, en korkad fråga... behöver jag installera php på servern eller något sånt?

greenio.se 2009-05-31 13:34

Nej, all kod ska vara rätt nu, funkar här rakt av.

Ja, du behöver köra det genom en server med php

Testar du på ett webhotell finns det med största sannolikhet php, dubbelklickar du bara på din testfil i utforskaren eller nåt så kommer det inte att funka.

AlternativePhotography 2009-05-31 13:36

Här är testsidan utan en massa annat skräp:
http://www.alternativephotography.com/test.html

AlternativePhotography 2009-05-31 13:37

Har bluehost... och har lagt upp filen där:
http://www.alternativephotography.com/test.html

AlternativePhotography 2009-05-31 13:42

Det står att bluehost har php:
PHP version 5.2.9
Någon som blir klokare?

najk 2009-05-31 13:45

Citat:

Originally posted by AlternativePhotography@May 31 2009, 12:37
Har bluehost... och har lagt upp filen där:
http://www.alternativephotography.com/test.html

Byt ändelse på filen från html till php

Erik Stenman 2009-05-31 19:03

Citat:

Ursprungligen postat av najk
Citat:

Ursprungligen postat av AlternativePhotography
Har bluehost... och har lagt upp filen där:
http://www.alternativephotography.com/test.html


Byt ändelse på filen från html till php

Precis. Om du kollar källkoden för din hemsida och ser att php-koden syns betyder det att php-koden aldrig ens kördes. Då kan det vara smart att kolla om filen slutar med .php.

AlternativePhotography 2009-05-31 23:03

Jag igen... hoppas någon fortfarande orkar läsa! Döpte om filen till .php... och nu funkar det!
http://www.alternativephotography.com/test.php
Problemet är bara att hela sajten heter .html och det är över 1000 sidor (ja, jag vet!)... hur kan jag få php att funka på en html sajt... går det?
Man kan tydligen ändra .htaccess filen på något sätt... hur?
Php infon på servern ser ut så här:
http://www.alternativephotography.com/test_php.php

greenio.se 2009-05-31 23:33

Citat:


AddType application/x-httpd-php .php .html

borde funka

KarlRoos 2009-05-31 23:36

Citat:

Originally posted by AlternativePhotography@May 31 2009, 23:03
Jag igen... hoppas någon fortfarande orkar läsa Döpte om filen till .php... och nu funkar det
http://www.alternativephotography.com/test.php
Problemet är bara att hela sajten heter .html och det är över 1000 sidor (ja, jag vet)... hur kan jag få php att funka på en html sajt... går det?
Man kan tydligen ändra .htaccess filen på något sätt... hur?
Php infon på servern ser ut så här:
http://www.alternativephotography.com/test_php.php

Kanske skulle ta en titt på någon CMS lösning? ;)

AlternativePhotography 2009-06-01 00:06

Hej!
Ja, en CMS kanske vore nåt!
Så här ser det ut nu... (funkar ej)

RewriteEngine on
# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
AddType application/x-httpd-php .php .html
RewriteCond %{HTTP_HOST} ^alternativephotography.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.alterativephotography.com$
RewriteRule ^(.*)$ "http\:\/\/www\.alternativephotography\.com\/$1" [R=301,L]

greenio.se 2009-06-01 00:13

Lägg på .html på den här raden istället då

AddHandler application/x-httpd-php5 .php .html

KarlRoos 2009-06-01 17:50

Citat:

Originally posted by AlternativePhotography@Jun 1 2009, 00:06
Hej
Ja, en CMS kanske vore nåt
Så här ser det ut nu... (funkar ej)
RewriteEngine on
# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
AddType application/x-httpd-php .php .html
RewriteCond %{HTTP_HOST} ^alternativephotography.com [OR]
RewriteCond %{HTTP_HOST} ^www.alterativephotography.com
RewriteRule ^(.*) http://www.alternativephotography.com/1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.alterativephotography.com
Typo? :)

AlternativePhotography 2009-06-01 22:24

Hej igen! Tack så mycket för ert tålamod!
När jag la till det här:
AddHandler application/x-httpd-php5 .php .html
Så funkade php scriptet (!!!) men mina serverside includes slutade funka, och headerfilen är en include...
När jag rättade typot fick jag ett "loop error" och hela sajten slutade funka.
Fattar inte mycket av det här. Ska jag ge upp?

KarlRoos 2009-06-01 22:28

Citat:

Originally posted by AlternativePhotography@Jun 1 2009, 22:24
Hej igen Tack så mycket för ert tålamod
När jag la till det här:
AddHandler application/x-httpd-php5 .php .html
Så funkade php scriptet () men mina serverside includes slutade funka, och headerfilen är en include...
När jag rättade typot fick jag ett loop error och hela sajten slutade funka.
Fattar inte mycket av det här. Ska jag ge upp?

Det låter väldigt skumt, det här är något så extremt simpelt. Kanske borde lägga det i "Förmedling av jobb och tjänster"?
Finns säkert någon som kan sätta sig in i det och lösa alla dina många problem!

dAEk 2009-06-01 22:37

Det går ju alldeles utmärkt att länka in en php-fil i en img-tagg, typ
Kod:

<img src="/client/images/logo.php">
så jag hade gjort som så. Nu kan jag ju inte PHP utan Java/C# så jag kan inte ge ett färdigt exempel.

Det går säkert att skriva en urlrewrite-regel som skriver om /client/images/logo.png till den sökvägen också om man kan urlrewriting. Då slipper du ändra på andra ställen ö.h.t.! :)

Poängen här är att ha logiken som rör bilden i en fil och inte behöva kladda i andra filer som använder den.

AlternativePhotography 2009-06-01 22:41

Halloj,
Önskar jag förstod hur du menade. Första gången jag försöker mej på php, och server grejor kan jag inget om. Känns som om jag är så nära, så det känns trist att ge upp...
Bilden ligger i en fil bara, och det är en header fil som jag skrivit som en server side include, så det är på ett ställe, men behöver få både php och includes att funka...
Det är en hobbysajt, som inte drar in några pengar, så har inte riktigt råd att betala någon, annars är det en bra ide.

greenio.se 2009-06-01 23:03

Två frågor: :)

Vad har du den sista raden i .htaccessen till?

RewriteRule ^(.*) http://www.alternativephotography.com/1 [R=301,L]

Vad är det för file extensions på dina server side includes?

objx 2009-06-01 23:07

PHP verkar inte vara aktiverat för html-filer på ditt webbhotell (dvs. filer som slutar på .html).
Har du testat att köra enklare php-funktioner?
Vad händer om du helt enkelt bara skriver:
<?php
echo "Dagens datum är ".date("Y-m-d");
?>
Om php är aktiverat så skulle denna kod visa texten:
"Dagens datum är 2009-06-01".

Annars får du testa att byta namn på filen till "test.php".

Om det fortfarande inte fungerar så skulle jag höra av mig till webbhotellet och fråga hur man aktiverar PHP för ditt konto.

Du kan även testa att lägga en ".htaccess" i huvudmappen på ditt webbhotell som talar om för webbservern att vissa filändelser skall exekvera (stödja) PHP-kod.
Detta gör du genom att skapa en ny fil med innehållet:
AddType application/x-httpd-php .php .html .htm

Jag lade upp en sån fil här:
http://www.objx.se/htaccess.zip

AlternativePhotography 2009-06-02 09:17

Hej!
Tack för hjälpen hittills allesammans.
Mina includes ser ut så här:
<!--#include virtual="/header.txt" -->
Jag hade ett annat domännamn förut, och när jag bytte gjordes en redirect, jag antar att 301 hänger med sedan dess... antar att jag kan ta bort det?
För att summera:
Sidorna/sajten är skriven i html, det är för stort jobb att ändra på, så det jag behöver är att lägga till lite php i header.txt filen som visar en logga för varje dag.
Sen behöver jag få sajten att fatta php i .htaccess filen.
Är vi på rätt spår här?
När jag la in KarlRoos förslag:
AddHandler application/x-httpd-php5 .php .html
Så funkade php, men mina includes SLUTADE funka.
och när jag rättade typot här:
RewriteCond %{HTTP_HOST} ^www.alterativephotography.com
Till:
RewriteCond %{HTTP_HOST} ^www.alternativephotography.com
så slutade hela sajten funka...

Så här ser hela ut:
RewriteEngine on
# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
AddType application/x-httpd-php .php .html
RewriteCond %{HTTP_HOST} ^alternativephotography.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.alterativephotography.com$
RewriteRule ^(.*)$ "http\:\/\/www\.alternativephotography\.com\/$1" [R=301,L]

Frågorna som kvarstår är:
-Behöver jag "Rewrite" koden - eller är den bara till för att redirecta (en funktion jag inte behöver)
-Hur kan jag få php OCH includes att funka på samma gång?
Tack så mycket alla!

RLM_JP 2009-06-02 11:22

edit: oj då, fanns det en sida två också. då var det inget..

A.O 2009-06-02 14:58

FELPOST.


Alla tider är GMT +2. Klockan är nu 23:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson