22 April 2008 door Davy

Als je een functie met @ voorafgaat dan worden de errors van deze functie onderdrukt. Tevens wil dat ook zeggen dat als deze functie niet bestaat, je script wordt gestopt zonder iets van foutmelding.
Posted in Algemeen | 28 Comments »
5 November 2007 door Bert
Dit is de manier om een random record te nemen uit een table in MySQL.
select * from banners order by rand() limit 1
Update: Het voorstel van Frank in de reacties is veel beter.
mysql, random, record
Posted in SQL | 5 Comments »
3 June 2007 door Bert
Een kort overzicht van indrukwekkende statistieken over Flickr. Deze verschenen op de FlickrBlog en kwamen op de website toen Flickr even down ging voor onderhoud een paar dagen geleden.
- Tijdens de drukke perioden toont Flickr 12.000 foto’s per seconde. Dit komt neer op 2.654.208.000 (dus 2,6 miljard) bits per seconden, ofwel een Gigabyte elke 3,23 seconde. Best dat Flickr nu in handen is van Yahoo om dit hardware- en netwerkmatig nog steeds vlot te kunnen aanbieden.
- Op 28 mei 2007 bereikte Flickr een uploadrecord: 2.070.075 foto’s geüpload in 24 uur tijd.
- Flickr heeft 8,5 miljoen geregistreerde gebruikers.
- Er zijn meer dan 10 miljoen verschillende tags toegevoegd aan foto’s op Flickr. Persoonlijk had ik er meer verwacht.
- Er zijn al 17,7 miljoen foto’s ge-’geotagged’. Dus voorzien van coördinaten zodat je eenvoudig kan zien waar ze genomen zijn.
flickr, indrukwekkend, statistieken
Posted in Algemeen | 2 Comments »
17 April 2007 door Bert
Om het resultaat van een query te krijgen heb je soms verschillende mogelijkheden. De vraag is dan dikwijls: Wat is nu de efficiëntste manier? Hiervoor heb je enkele technieken ter beschikking om de verschillende mogelijkheden te testen. Dit zijn eerst en vooral technieken voor mysql. Ik heb niet verder gezocht in hoeverre deze technieken ook werken op andere databasetypes.
explain gebruiken voor een query is een eerste techniek. Hiermee kan je eerst en vooral zien welke indexes er gebruikt worden. Deze techniek is dan ook vooral handig bij wat ingewikkeldere queries.
explain select * from table
Het resultaat is één of meerdere rijen met informatie over hoe de query wordt opgevraagd in de tabel of tabellen. Alle uitleg over wat de exacte betekenis is vind je in de MySQL 5.0 reference.
Later meer.
Posted in SQL | No Comments »
4 April 2007 door Tijs
Ik was een functie aan het schrijven om relative urls om te zetten naar absolute. Bijvoorbeeld:
PHP:
-
... href="/foo.php?bar=1" ...
moet worden vervangen door
PHP:
-
... href="http://www.example.net/foo.php?bar=1" ...
Aangezien ik hier wel wat moeite mee gehad heb, deel ik graag de functie.
PHP:
-
/**
-
* Convert relative urls into absolute urls
-
*
-
* @param string $prefix
-
* @param string $text
-
* @return string
-
*/
-
function relativeToAbsolute($prefix, $text)
-
{
-
// search for single quotes and replace them by double quotes
-
$search = '\'';
-
$replace = '"';
-
-
-
// replace relative urls by absolute (prefix them with $prefix)
-
$pattern = '/href="(?!http|https|ftp|irc|feed|mailto)([\/]?)(.*)"/i';
-
$replace = 'href="'.$prefix.'/$2"';
-
-
-
// return
-
return $text;
-
}
absolute, crosspost, php, ralative, url
Posted in PHP | 10 Comments »
29 March 2007 door Davy
Sommige mensen hebben het lastig om onder windows htaccess bestanden aan te maken. Een leuke tip. Open notepad, doe je ding en sla het bestand op als “.htaccess” (met de quotes erbij!). Et voila, mission accomplished!
crosspost
Posted in Algemeen | 2 Comments »
25 March 2007 door Davy
Om de één of andere reden is zondag de leukste dag om te programmeren in PHP. Dit is nu de 3de week op rij dat ik iets "nieuw" ontdek op een zondag in PHP. Deze week het feit dat je functies in functies in functies kan definiëren EN gebruiken. Hieronder een vies voorbeeldje

Geeft als output:

Ps: Graag wil ik ook even vermelden dat je bvb niet de functie "foo" kan definiëren in een reeds bestaande functie foo. Ook best wel vies
Posted in PHP | 5 Comments »
12 March 2007 door Tijs
Ik ben de laatste dagen aan het uitzoeken hoe ik een webservice kan maken. Na veel lezen, opzoeken, vragen stellen hebben de mannen van Openminds mij op het juiste pad gebracht (waarvoor dank), namelijk SOAP.
Omdat ik heel wat problemen ben tegengekomen zet ik hieronder even de code om anderen te helpen. Let wel, ik ben ook nieuw met SOAP. Dus sla mij niet dood als het niet direct werkt.
Eerst heb ik de "server geschreven".
PHP:
-
<?php
-
// require the class that will handle the calls
-
require_once 'classes/API.php';
-
-
// disable the soap.wsdl_cache
-
ini_set("soap.wsdl_cache_enabled",
"0");
-
-
// get RAW_POST_DATA
-
-
-
// set options for the server
-
$options =
array('uri' =>
'http://localhost/SOAP/');
-
-
// init server
-
$server = new SoapServer(null, $options);
-
-
// set the class that will handle the SOAP-requests
-
$server->setClass('API');
-
-
// handle SOAP-requests
-
$server->handle();
-
?>
Dan de class die de SOAP-requests zal afhandelen.
PHP:
-
<?php
-
class API
-
{
-
/**
-
* returns 'Hello World'
-
*
-
* @return string
-
*/
-
public function sayHello()
-
{
-
return 'Hello World';
-
}
-
}
-
?>
Dan de "client".
PHP:
-
<?php
-
// set client options
-
$options =
array('location' =>
'http://localhost/SOAP/server.php',
'uri' =>
'http://localhost/SOAP/');
-
-
try {
-
// init client
-
$client = new SoapClient(null, $options);
-
// make SOAP-request and print it
-
-
echo "\n".
$client->
sayHello();
-
-
}
-
// catch SOAP-errors
-
catch(SoapFault $e)
-
{
-
// print error
-
-
}
-
?>
Opmerkingen zijn uiteraard welkom!
basic, cross post, PHP5, SOAP, webservice
Posted in PHP | 8 Comments »
10 March 2007 door Davy
Een tijdje geleden zat ik vrij OO bezig en stuitte ik op iets wat ik eigenlijk had moeten voorzien. Eén hoofdclass hield een template object bij en een drietal andere classes hadden een referentie naar dit object. Onder zekere voorwaarden werd het eigenlijke object opnieuw aangemaakt. Hierdoor gingen alle referenties in die drie andere classes op zichzelf bestaan en was de "verwijzing" niet langer..


Het relaas van dit alles is vrij simpel. Als je éénzelfde object van verschillende locaties aanspreekt, kijk dan goed uit als je dit object om de één of andere reden opnieuw zou moeten aanmaken, want de verwijzingen zijn "dood".
Posted in PHP | 10 Comments »
23 February 2007 door Bert
Posted in Algemeen | 7 Comments »
Recente reacties