Suepahfly schreef op 15 August 2003 @ 23:47:
ALs je webcam 1x in de X seconden een plaatje ftp't dan is het vrij makkelijk om met php een authentificatie daar op te maken.
zoiets als
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| if() // hier je authentificatie
{
header ("Content-type: image/png");
$im = imagecreatefromgif ("$ftpdir."/".$image_file");
if(!$im){
die("error");
}
imagepng ($im);
die();
} |
$ftpdir is de locatie van je bestanden bv. ``ftp://user:pass@ftp.server''
$image_file is je bestandsnaam bv. plaatje.gif
moet je wel allow_url_fopen in je php.ini aan hebben staan
Ik dacht deze methode al binnen een dag te verwachten toen ik deze las...
Hou er wel even rekening mee dat GD nu iedere refresh het plaatje tekent, dus als je bijv 10 mensen met 15 fps naar je webcam aan het kijken zijn (extreem voorbeeld) dan heb je wel 150 plaatjes per minuut die gemaakt moeten worden, worden het 100 mensen, dan haalt zelfs een snelle webserver het denk ik niet meer.
GD zuigt nogal veel CPU op (bij veel gebruik

)....
En dan ook nog eens dmv een niet lokale ftp connectie, dat stuk script killt servers volgens mij
Mijn idee in pseudocode :
PHP:
1
2
3
4
5
6
| include ('login.inc'); // Deze file kijkt of de gebruiker is ingelogd, if not geeft hij een login box
if ($gebruiker->id)
{
echo "hier het script, of een refresh naar een andere pagina";
} |
een voorbeeld van een login.inc (die natuurlijk anders heet hier) :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| session_start();
// Controle of de bezoeker zich geidentificeerd is of niet
if (session_is_registered('Ingelogd'))
{
$Ingelogd = true;
// Haal de gegevens van de bezoeker op..$id is opgeslagen in de sessie gegevens
$q1=mysql_query("SELECT * FROM klanten WHERE username='$gebruikersnaam'") OR DIE (mysql_error()."<BR><BR>");
$gebruiker = mysql_fetch_object($q1);
mysql_query_count();
//echo "Ingelogd!\n";
}
else
{
$Ingelogd = false;
//echo "NIET Ingelogd\n";
} |