Archive for the ‘Programmering’ category

Wamp: Opprette underdomener

januar 19th, 2010

Veldig konsis guide på hvordan du kan opprette underdomener lokalt på datamaskinen din, om du bruker Wampserver. Orker du ikke en haug med tekst? Sjekk ut videoen i bunnen!

1. Gå til mappen: C:\Windows\System32\Drivers\etc\

Der ligger det en fil som heter “hosts”. Ja, det er riktig: den har ingen filendelse. Høgreklikk på filen, velg “åpne med …” og velg en tekstredigerer (type Notepad).

Under linjen

127.0.0.1     localhost

legger du til:

127.0.0.1     underdomene.localhost

“Underdomene” kan du endre til hva du vil: dette blir da navnet på underdomenet ditt.

PS: Dersom det er et nummertegn (#) foran «127.0.0.1     localhost», så er du nødt til å fjerne dette tegnet.

2. Klikk på Wamp-ikonet i tray, velg Apache og trykk på “httpd.conf

Bla ned (nesten til bunns) i filen, til du kommer til følgende linje:

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Fjern nummertegnet fra siste linje.

3. Gå til C:\wamp\bin\apache\Apache2.2.11\conf\extra\

Her åpner du filen “httpd-vhosts.conf“. Dette er konfigurasjonsfilen som styrer de virtuelle serverinnstillingene i Apache.

Fjern de to <VirtualHost *:80>-blokkene, og legg til følgende kode:

<VirtualHost *:80>
 DocumentRoot C:/wamp/www/
 ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:/wamp/www/underdomene/
ServerName underdomene.localhost
</VirtualHost>

Dette forteller Apache at alle  forespørsler skal sendes til www-mappen, såfremt det ikke eksisterer et underdomene. I praksis betyr det at http://underdomene.localhost/ vil vise deg samme innhold som http://localhost/underdomene/.

4. Restart Wampserver — You are Good to Go!

Husk selvsagt å endre “underdomene” til hva du ønsker (gjelder alle kodene).

Som vanlig følger det også med en video som viser fremgangsmåte.

Wamp: Hvordan installere ffmpeg (Windows)

januar 16th, 2010

Noen ganger kan det være ganske ålreit å kunne konvertere videoer via PHP, eller for eksempel hente ut miniatyrbilder fra en film. Da er det også ganske ålreit at ffmpeg finnes.

Med ffmpeg kan du gjøre slike ting lekende lett, men veien der til er ikke alltid like grei. Heldigvis har jeg i den sammenheng laget en liten guide til hvordan du kan gjøre det!

Før vi begynner …

Sørg for at du har:

Når du har de to punktene under kontroll er du klar til å gå videre.

Hva vi trenger

Da er tiden inne for å laste ned ffmpeg-arkivene. Last ned de to arkivene under, og plasser dem f. eks på skrivebordet ditt.

FFmpeg:  http://sourceforge.net/projects/mplayer-win32/files/FFmpeg/(last ned en .7z-fil)
FFmpeg-php: http://sergey89.ru/files/ffmpeg-php/ffmpeg-php-win32-all.zip (kun kompatibel med PHP 5.2.5)

La oss begynne

Pakk ut innholdet fra den første zip-filen, og kopier filen ffmpeg.exe til C:\ffmpeg\. Det er denne filen PHP kommer til å sende kommandoene til.

Pakk så ut innholdet fra det siste arkivet (ffmpeg-php). Her vil det være totalt 5 filer som vi trenger. Kopier filene avcodec-51.dll, avformat-51.dll, avutil-49.dll og pthreadGC2.dll og lim dem inn i: C:\WINDOWS\System32\.

Dersom du kjører et 64-bits operativsystem, må du også legge de samme filene i: C:\WINDOWS\SysWOW64\.

Da gjenstår det én fil igjen, og det er: php_ffmpeg.dll.  Dette er utvidelsefilen for PHP; denne må du plassere i C:\wamp\bin\php\php5.2.5\ext\ som da er PHPs mappe over utvidelser. Siste punktet du må gjøre er å endre PHPs konfigurasjonsfil, php.ini. Denne kan du nå på to måter:

  • Trykke på Wampserver-ikonet i Tray, klikke på PHP og så velge php.ini
  • Gå til C:\wamp\bin\php\php5.2.5\

Åpne konfigurasjonsfilen i en teksteditor (f. eks Notepad), og bla ned til du kommer til “Windows extensions”. Her kommer det opp en liste over mange ulike utvidelser; lag en ny linje, og lim inn følgende kode:

extension=php_ffmpeg.dll

Nå trenger du bare starte Wampserver om igjen, ved å trykke på Wampserver-ikonet i tray og deretter velge “Restart all services”.

Nå kan du åpne din favoritt-nettleser, og lime inn følgende adresse:

http://localhost/?phpinfo

Dersom installasjonen har vært vellykket, vil du kan kunne finne ffmpeg på den listen (se bilde).

Sluttord

Nå er det bare til å sette i gang med å konvertere videoer, hente ut stillbilder, lyd eller hva det måtte være. Du kan teste installasjonen ved å kjøre følgende kode:

<?php
    $clip = 'clip.mp4'; // Which video to extract from
    $frame = '00:00:10'; // ... and at which frame
    $dimensions = '640x480'; // Image dimensions (width x height)
    $output = 'myscreen.png'; // path to captured image

    $command = 'C:\ffmpeg\ffmpeg.exe -y -i ' . $clip . ' -vframes 1 -ss ' . $frame . ' -an -vcodec png -f rawvideo -s ' . $dimensions . ' ' . $output;
    exec ($command);
?>

Den vil hente ut et bilde fra videoen clip.mp4 ti sekunder ut i filmen, og lagre bildet som myscreen.png. Legg spesielt merke til at vi må spesifisere fulle stien til hvor vi har plassert ffmpeg.exe-filen. De fleste plasser på Internett, så står det som regel bare “ffmpeg”, istedenfor full sti; slik må du ikke gjøre det!

Du kan også teste installasjonen ved å skrive denne koden:

<?php
    echo shell_exec ('C:\ffmpeg\ffmpeg.exe -formats');
?>

Om du har innspill, kommentarer eller lignende, så er du velkommen til å kommentere artikkelen!
Video som viser hva jeg gjør — i dårlig kvalitet — er å se under:

Liten oppdatering til Fileshed

august 12th, 2009

I dag fikk jeg ideen å oppdatere filopplastningssystemet mitt litt. Tanken var følgende: la brukere legge passord på filene sine. Fra før kan brukerne velge mellom “offentlig” eller “privat” status på filene. Dersom filen er privat er det kun han som kan laste ned den, er den offentlig kan alle. Problemet var at det ikke fantes noe mellomledd: det kom i dag.

Nå kan brukere lett legge passord på filen sin (også et hint, om nødvendig), og passe på at uvedkommende ikke laster ned filen (selv om den er markert offentlig). Når en bruker klikker på filen for å laste ned den, kommer det opp en side som spør etter passord.

Dersom dere har flere tips til hva som kan være nyttig, er det bare å si i fra. Jeg personlig har tenkt litt over en E-posttjeneste, hvor brukeren får i valg å sende en E-post med markert fil som vedlegg. Hadde dette vært noe?

Fileshed-oppdateringFiler med nøkkel etter filnavnet er passordbeskyttede filer. Dersom de har rød bakgrunn er de markert privat. For å bytte status er det bare til å klikke på det røde utropsikonet / grønne v-ikonet. For masseendringer finnes det avkryssningsbokser.

Edit 13/08-09: Nå er det også blitt lagt til en passord-glemmer.
Edit 14/08-09: Har laget en logg for nedlastninger, slik brukeren kan følge med på hvem som laster ned fra han (hvilken fil, og dato).
Edit 16/08-09: Nå er også E-postvideresenderen på plass, som gjør du kan sende filer via E-post.

Nytt utseende til Fileshed — trenger feedback

juni 28th, 2009

Fileshed, filopplastningssiden jeg har laget, fikk en etterlengtet ansiktsløftning i disse nattetider, hvor jeg skiftet ut det dystre og kjedelige designet med noe nytt.

For å fortelle litt om tjenesten, er det en side hvor du kan laste opp filer slik du kan for eksempel sende dem mellom multiple PC-er. Du kan også organisere filene i mapper, gjøre dem offentlige (andre kan se dem, og laste de ned) eller private. Det er også mulighet for å laste ned mange filer på én gang (vil bli arkivert i et Zip-arkiv).

Tjenesten ligger også ute for salg, om det er noen som har lyst å bruke det kommersielt/privat.

Her følger to før-bilder; hvordan siden såg ut for ti minutt siden:Fileshed, fremsidenFileshed, oversikt over filer

Her er den nye siden, fra samme sider som bildene over:

Fileshed (ny), fremsidenFileshed (ny), oversikt over filerBle det bedre, eller hva synes du? Skjekk selv på: http://fileshed.davidsteinsland.net/

Synkronisert nettprat (Live Chat Script)

juni 25th, 2009

På forhånd: dette er mer en reklamasjonspost enn guide til hvordan en lager det.

Av de produktene jeg har solgt til eller utviklet for kunder, er det én gjengganger som ligger desidert på toppen. Det er nettpraten jeg snakker om. Med tanke på at den ikke utnytter databaser, og krever minimalt med konfigurering, er det i mange hjerter denne tjenesten har falt.

For min egen del er det også veldig lett. Dersom en kunde kommer med en forespørsel til noe han/henne vil ha annerledes, er jobben nærmest gjort på minuttet.

Noen notatverdige funksjonaliteter er som følger:

  • Mulighet for å bruke nettpraten som en privat chat (med to deltagere), eller som en gruppesamtale
  • Brukerne kan endre navn fritt — selvsagt til navn som ikke eksisterer fra før
  • Liste over aktive deltagere (brukere som har skrevet noe den siste timen)
  • Uttrykksikoner og autolinking av nettadresser
  • Hver ukedag før egen fil hvor samtalene føres, noe som i praksis fører til at konversasjonene blir tilbakestilt hver midnatt
  • Spamsikkert da det følger med et Quiz-spørsmål som deltagere er nødt til å svare på
  • Mulighet for å la nye samtaler komme på toppen eller bunnen
  • Dersom noe blir skrevet mens en bruker ikke har nettpraten fokusert, vil det komme en animasjon i tittellinjen som forteller brukeren at det er kommet nye meldinger

Prisen er heller ikke høy, og er ment for å dekke de timene jeg har lagt ned i prosjektet. Utsalgsprisen ligger på 600 kroner, og om ekstra funksjonalitet er ønskelig, vil det blir lagt på timepris.

Du kan selv teste ut praten så mye du vil på følgende adresse:
http://trunk.davidsteinsland.net/chat/

Om det er noe du lurer på — skriv en kommentar, eller send meg en E-post.