Das Tippsforum
Link zum Forum
In diesem kleinen Tutorial werden ich euch zeigen, wie man alle Gif- oder JPG-Bilder eines Ordners auslesen kann.
Als erstes hier mal eine kurze Beschreibung und nachher der ganze Code nochmal.
<?php
$dir = 'bilder';
$files = scandir($dir);
Liest alle Dateien im Verzeichnis $dir in ein Array.
foreach($files as $file):
if(preg_match('/\.jpg$/i', $file))
$jpg[] = $dir.’/’.$file;
endforeach;
Geht das Array durch und speichert alle Dateien, die auf .jpg (Groß-/Kleinschreibung egal) enden im Array $jpg.
foreach($jpg as $img)
echo '<img src="'.$img.'" alt="'.$img.'" /><br />';
?>
Hier noch einmal der komplette Code:
<?php
$dir = 'bilder';
$files = scandir($dir);
foreach($files as $file):
if(preg_match('/\.jpg$/i', $file))
$jpg[] = $dir.’/’.$file;
endforeach;
foreach($jpg as $img)
echo ‘<img src=”‘.$img.’” alt=”‘.$img.’” /><br />’;
?>
Wer statt JPG-Bilder Gif-Bilder auslesen will muss das einfach in der if Zeile ändern.
Schneeflocken für die eigene Homepage mit JavaScript zu erstellen ist ganz einfach wenn man sich mit JavaScript auskennt. Für alle anderen gibt es hier ein einfacher Script mit großen Effekt.
Erstmal müsst ihr folgenden JavaSCript Code in den Header eurer Page einfügen:
<SCRIPT LANGUAGE="JavaScript1.2">
var no = 14; // snow number
var speed = 5; // smaller number moves the snow faster
var snowflake = "snow.gif";
var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 1000, doc_height = 1000;
if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) {
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write(”<layer name=\”dot”+ i +”\” left=\”15\” “);
document.write(”top=\”15\” visibility=\”show\”><img src=\”");
document.write(snowflake + “\” border=\”0\”></layer>”);
} else {
document.write(”<layer name=\”dot”+ i +”\” left=\”15\” “);
document.write(”top=\”15\” visibility=\”show\”><img src=\”");
document.write(snowflake + “\” border=\”0\”></layer>”);
}
} else if (ie4up) {
if (i == 0) {
document.write(”<div id=\”dot”+ i +”\” style=\”POSITION: “);
document.write(”absolute; Z-INDEX: “+ i +”; VISIBILITY: “);
document.write(”visible; TOP: 15px; LEFT: 15px;\”><img src=\”");
document.write(snowflake + “\” border=\”0\”></div>”);
} else {
document.write(”<div id=\”dot”+ i +”\” style=\”POSITION: “);
document.write(”absolute; Z-INDEX: “+ i +”; VISIBILITY: “);
document.write(”visible; TOP: 15px; LEFT: 15px;\”><img src=\”");
document.write(snowflake + “\” border=\”0\”></div>”);
}
}
}
function snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout(”snowNS()”, speed);
}
function snowIE() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout(”snowIE()”, speed);
}
if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}
// End –>
</script>
Als nächstes braucht ihr nur noch ein Bild einer Schneeflocke. Dieses müsst ihr einfach nur der gleiche Verzeichnis wie eure Datei legen und es snow.gif nennen. Wer kein Bild hat kann das folgende einfach mit einem Rechtsklick speichern.
->
<-
Ich habe jetzt schon dreimal in einem Forum gelsen, dass Webseitenbetreiber die mit PHP-Fusion arbeiten die IP’s der Benutzer nicht speichern wollen. Dafür gibt es verschiedene Gründe, die ich hier nicht nennen möchte.
Es ist eigentlich ganz einfach, ihr müsst nur eine Zeile Code ändern. Öffnet die maincore.php und sucht nach
define("USER_IP", $_SERVER['REMOTE_ADDR']);
Ersetzt diesen code einfach durch
define("USER_IP", "0.0.0.0");
Fertig nun sollten die User IP’s nicht mehr gespeichert werden
Nun müssen nur noch aktuell gespeicherte IP’s geändert werden. Dazu fügt ihr folgenden Befehl in PHPMyAdmin aus. “fusion_” müsst ihr dazu durch euer Präfix ersetzen:
UPDATE fusion_users SET user_ip='0.0.0.0';
UPDATE fusion_shoutbox SET shout_ip='0.0.0.0';
UPDATE fusion_ratings SET rating_ip='0.0.0.0';
UPDATE fusion_posts SET post_ip='0.0.0.0';
UPDATE fusion_online SET online_ip='0.0.0.0';
UPDATE fusion_comments SET comment_ip='0.0.0.0';
Achtung: Bei Webseiten die BS-Fusion benutzen kann es zu Schwierigkeiten kommen.
Viele Leute haben das Problem, dass ihre Webseiten mit PHP-Fusion immer so lange zum laden brauchen. Dies kann man aber beheben indem man seine Webseite mit GZIP komprimiert. Und so geht es:
Als erstes erstellt man eine PHP-Datei im Verzeichnis “includes” und füllt diese mit folgendem Inhalt:
<?php
$force_gzip = "no";
define("GzipCompressionLevel",3);
if($force_gzip == "yes") {$FORCE_COMPRESSION = true;} else {$FORCE_COMPRESSION = false;}
function gzipCompressionHandler($content)
{
preg_match_all("{[\w\-]+}”,$_SERVER["HTTP_ACCEPT_ENCODING"],$matches);
$encoding=false;
if(in_array(”x-gzip”,$matches[0])) $encoding=”x-gzip”;
if(in_array(”gzip”,$matches[0])) $encoding=”gzip”;
if($encoding!==false && function_exists(”gzcompress”)) {
$header=”\x1f\x8b\x08\x00\x00\x00\x00\x00″;
$compressed=substr(gzcompress($content, GzipCompressionLevel),0,-4);
$trailer=pack(”V”,crc32($content)).pack(”V”,strlen($content));
$content=$header.$compressed.$trailer;
@header(”Content-Encoding: $encoding”);
@header(”Content-Length: “.strlen($content));
}
return $content;
}
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])){$AE = $_SERVER['HTTP_ACCEPT_ENCODING'];}
else{$AE = $_SERVER['HTTP_TE'];}
$support_gzip = (strpos($AE, ‘gzip’) !== FALSE) || $FORCE_COMPRESSION;
if($support_gzip){
ob_start(”gzipCompressionHandler”);
$gzpstatus = “on”;
}
else
{
ob_start(”);
$gzpstatus = “off”;
}
?>
Diese speichert man unter dem Namen gzip.php ab. Jetzt öffnet man die subheader.php. In diese schreibt man ganz oben nach <?php folgendes:
include INCLUDES."gzip.php";
Jetzt nur noch die Dateien auf den Server laden und schon funktioniert das schnellere laden.
Leider kommt es bei jedem Counter-Strike mal vor, dass einige Mäuse nicht funktionieren. Das liegt daran, dass Steam die Geschwindigkeit anders rechnet, als einige Mäuse. Dann kann es manchmal zur stockenden Maus kommen. Dies kann man aber ganz einfach beheben. Man muss nur auf Steam gehen unter Spiele. Dann klickt man Counter-Strike oder Counterstrike Source mit der rechten Maustaste an und klickt auf Einstellungen. Dann unten auf den Button Start Optionen klicken und folgendes in das Feld eingeben:
-noforcemparms -noforcemaccel -noforcemspd
Schon sollte es perfekt funktionieren.