Zo’n lekker zomers liedje doet je de strenge winter al bijna vergeten. Doe je ogen dicht en waan je op een zomers terras met een lekker fris drankje!
Zo’n lekker zomers liedje doet je de strenge winter al bijna vergeten. Doe je ogen dicht en waan je op een zomers terras met een lekker fris drankje!
< ?php
/**
* maakxml
*
* @author TristanSiebers.nl
* @copyright 2009
* @version $Id$
* @access public
*/
class maakxml {
private $tree;
private $activeOuder;
private $activeItem;
private $activeItemNummer;
private $return = array();
/**
* Maak de ouder
*
* @param string $naam De naam van de ouder
*
* @return $this
*/
public function ouder($naam) {
# Voeg de ouder toe
$this->tree[$naam] = array();
$this->activeOuder = $naam;
return $this;
}
/**
* Voeg een item toe aan de huidige ouder
*
* @param string $naam De naam van het hoofditem
* @return $this
*
*/
public function item($naam) {
# activeItemNummer wordt gebruikt om dubbele items toe te staan
$this->activeItemNummer = count($this->tree[$this->activeOuder])+1;
# Voeg het item als lege array toe, voor de waarden
$this->tree[$this->activeOuder][$this->activeItemNummer][$naam] = array();
# Zet het huidige active item
$this->activeItem = $naam;
return $this;
}
/**
* Voeg een waarde toe aan het huidige item
*
* @param string $naam De naam van de waarde
* @param string $inhoud De inhoud van de waarde
* @param bool $cdata Moet de data ingesloten worden door CDATA
* @return $this
*
*/
public function waarde($naam,$inhoud, $cdata = false) {
# Moet de inhoud ingesltoen worden door CDATA?
$inhoud = ($cdata) ? '< ![CDATA['.$inhoud.']]>' : $inhoud;
# Voeg de waarde toe aan de ouder/item
$this->tree[$this->activeOuder][$this->activeItemNummer][$this->activeItem][$naam] = $inhoud;
return $this;
}
/**
* Maak het XML bestand
*
* @return $this
*/
public function maak_xml() {
# Lus de tree (ouder)
foreach($this->tree AS $ouder => $ouderlijst) {
$this->return[] = '< '.$ouder.'>';
# Lus in de geselecteerde ouder de items
foreach($ouderlijst AS $itemKey => $null) {
# Haal vanuit het juiste nummer het item op (om dubbele items toe te staan)
foreach($ouderlijst[$itemKey] AS $item => $itemlijst) {
$this->return[] = '< '.$item.'>';
# Haal de waarde op
foreach($itemlijst AS $waarde => $inhoud) {
$this->return[] = '< '.$waarde.'>'.$inhoud.'';
}
$this->return[] = '';
}
}
$this->return[] = '';
}
return $this;
}
/**
* Print debug informatie
*
*/
public function debug() {
# Geef de debug structuur weer
print_r($this);
}
/**
* Geef de gemaakte XML string terug
*
* @return string
*/
public function weergeven() {
# Geef de XML string netjes terug
return (string)implode("\n",$this->return);
}
}
?>
< ?php
header ("content-type: text/xml");
$xml = new maakxml();
$xml->ouder('Hoofdgroep');
$xml->item("item");
$xml->waarde("Waarde","en de inhoud van de waarde");
$xml->waarde("Waarde2","en de inhoud van de waarde", true);
$xml->item("item");
$xml->waarde("Waarde3","en de inhoud van de waarde 3");
$xml->waarde("Waarde4","en de inhoud van de waarde 4 ", true);
$xml->waarde("Waarde5","en de inhoud van de waarde 5");
echo $xml->maak_xml()->weergeven();
?>
Een heel mooi “stop-motion” filmpje over een meisje wat ontsnapt uit de werkelijkheid
Meer stop-motion filmpjes via Smashing Magazine
Steeds meer mensen maken tegenwoordig een website. Iedereen heeft zo z’n eigen manier van code schrijven en dat is natuurlijk prima. De leesbaarheid van code’s (in dit geval HTML) laat echter vaak te wensen over. Zit je midden in de ontwikkeling van een project, snap je de code vaak perfect. Kijk je bijvoorbeeld een half jaar later nogmaals kunnen veel mensen maar met moeite hun eigen code lezen.
Op Smashing Magazine staat een interressant artikel hoe je nette HTML kunt schrijven. In de inleiding wordt het voorbeeld aangehaald dat een sterk huis op een sterke fundering moet staan. Een goede website moet dus ook qua HTML goed in elkaar steken.
Hier vind je de link naar het artikel, uit ervaring kan ik je vertellen dat het een stuk makkelijker, sneller en overzichtelijker werkt. Jezelf deze tips aanwennen is dus zeker de moeite waard!
Vandaag heb ik m’n eerste eigen gemaakte spelletje online gezet! Het is “Tower of Fortune”, gebaseerd op de Fable II Pub Game “Fortunes Tower”. Je kunt de download hier vinden.
Vertel me wat je ervan vindt! Ook als je bugs tegenkomt mag je dat natuurlijk melden. Een emailtje of een reactie op dit bericht is voldoende.
Hieronder een fimpje wat maar weer eens bewijst dat je op een pc altijd moet passen met welke commando’s je geeft.
Gebruik deze code om te kijken of een bestand op een andere server bestaat. De functie geeft een boolean (true/false) terug.
/**
* Kijk of een bestand op een externe server aanwezig is
*
* @param string $url
* @return boolean
* @package Functies
* @author Unknown
*/
function remote_file_exists($url){
$url = str_replace("http://", "", $url);
if (strstr($url, "/")) {
$url = explode("/", $url, 2);
$url[1] = "/".$url[1];
} else {
$url = array($url, "/");
}
$fh = fsockopen($url[0], 80);
if ($fh) {
fputs($fh,"GET ".$url[1]." HTTP/1.1\nHost:".$url[0]."\n\n");
if (fread($fh, 22) == "HTTP/1.1 404 Not Found") { return FALSE; }
else { return true; }
} else { return false;}
}
Hieronder even een afbeelding van de enige juiste opstelling tijdens het EK:

Hieronder een stukje bron code van Windows Vista. Het geeft enig inzicht in hoe Microsoft programmeert :)

(bron: fok.nl; via return1.nl)