Werbung

Werbung

Werbung

Archive

Folge uns auf Twitter

Werbung

Jede Menge neue Twitter Follower bekommen. Die Software hat einen kostenlosen Trial Mode, der bis zu 250 Follower bringt.

Willkommen

Willkommen im PHP Archiv Blog! Hier gibts Infos zum Thema PHP Codeschnipsel und Tipps. Bei unserem Projekt phparchiv.de, finden Sie über 5700 Scripte.

Kleine PHP Scripts

Minify HTML mit PHP

Das PHP Script verkleinert HTML Dateien, welches durch PHP erzeugt wurde. Auf diese Weise werden die Seiten schneller geladen.


function sanitize_output($buffer)
{
$search = array(
'/\>[^\S ]+/s', //strip whitespaces after tags, except space
'/[^\S ]+\</s', //strip whitespaces before tags, except space
'/(\s)+/s' // shorten multiple whitespace sequences
);
$replace = array(
'>',
'<',
'\\1'
);
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}

ob_start("sanitize_output");

?>[/php]

Word of the Day

Einfaches Skript um den Spruch des Tages auszugeben

Script wofD.php


    function wordofday(){
$filename = "words.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
$array = explode("\n",$contents);
$date = date("z");
if($date > count($array)){
return $array[0];
}else{
return $array[$date];
}
}

echo '<p>&nbsp;</p><p>'.wordofday().'</p>';
?>[/php]

Inhalt der Datei word.txt

Take me out to the ball game 
Take me out to the park 
Buy me some peanuts and crackerjacks 
I don't care if we ever get back 
Root, root, root for the home team 
If they don't win its a shame 
For its one, two, three strikes your out 
at the old ball game.

Quelle

MySQL Querys in PHP

Das Script erlaubt INSERT / UPDATE Querys in einer MySQL Datenbank. Die Werte von $url, $dbuser und $pwrd müssen angepasst werden.


  session_start();
if (!ob_start("ob_gzhandler"))
ob_start();
header("Expires: Mon, 26 Jul 1997 03:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

// url to host
$url = "localhost";
// database user
$dbuser = "Your dbuser name";
// database user's password
$pwrd = "dbuser password";

// Show the information_schema
$show_information_schema = 1;

$con = mysql_connect($url, $dbuser, $pwrd) or die(mysql_error());
mysql_set_charset("utf8", $con);
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<script type="text/javascript">
function GetXmlHttpObject(handler)
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}

function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtResult").innerHTML= xmlHttp.responseText;
}
else {
//alert(xmlHttp.status);
}
}

// Will populate data based on input
function htmlData(url, qStr)
{
if (url.length==0)
{
document.getElementById("txtResult").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ('Please use a browser that support "HTTP Request"');
return;
}

url=url+"?"+qStr;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true) ;
xmlHttp.send(null);
}
</script>
</head>
<body>

// ############## # FUNCTION START # ##############

function get_db($con)
{
$i = 0;
$res = array();

$db_list = mysql_list_dbs($con);

$cnt = mysql_num_rows($db_list);
while ($i < $cnt)
{
array_push($res, mysql_db_name($db_list, $i));
$i++;
}
if (count($res) >= 1)
{
array_unshift($res, "Select database");
return $res;
}
else
return array(" No tables :-( ");
}
// -------------- -

function desc_table($use_table, $con)
{
$sql = "desc $use_table";
$result = mysql_query($sql, $con);

if (!is_object($result) && !$result == false)
{
$array = array();
while ($ar = mysql_fetch_assoc($result))
{
$tmp[0] = $ar['Field'];
$tmp[1] = $ar['Type'];
array_push($array, $tmp);
}
}
return $array;
}

// -------------- -
function sql_insert($array, $use_table)
{
$sql_value = "";
$sql_str = "\$sql_query = \"INSERT INTO " . $use_table . " (";

foreach ($array as $key => $value)
{
$sql_str .= $value[0] . ", ";
}

$sql_str = substr_replace($sql_str, "", -2) . " )VALUES (";

foreach ($array as $key => $value)
{
switch (substr($value[1], 0, 4))
{
case "char":
$sql_value .= ' "$' . $value[0] . '" ,';
break;
case "date":
$sql_value .= ' "$' . $value[0] . '" ,';
break;
case "int(":
$sql_value .= ' $' . $value[0] . ' ,';
break;
case "text":
$sql_value .= ' "$' . $value[0] . '" ,';
break;
case "date":
$sql_value .= ' "$' . $value[0] . '" ,';
break;
case "tiny":
$sql_value .= ' $' . $value[0] . ' ,';
break;
case "varc":
$sql_value .= ' "$' . $value[0] . '" ,';
break;
}
}

$sql_str .= substr_replace($sql_value, "", -2) . " )";

return $sql_str . '";';
}

// -------------- -

function sql_update($array, $use_table)
{
$sql_str = "\$sql_query = 'UPDATE " . $use_table . " SET ";

foreach ($array as $key => $value)
{
switch (substr($value[1], 0, 4))
{
case "char":
$sql_str .= $value[0] . ' = "\'.$' . $value[0] . '.\'" ,';
break;
case "date":
$sql_str .= $value[0] . ' = \'.$' . $value[0] . '.\', ';
break;
case "int(":
$sql_str .= $value[0] . ' = \'.$' . $value[0] . '.\', ';
break;
case "text":
$sql_str .= $value[0] . ' = "\'.$' . $value[0] . '.\'", ';
break;
case "time":
$sql_str .= $value[0] . ' = \'.$' . $value[0] . '.\', ';
break;
case "tiny":
$sql_str .= $value[0] . ' = \'.$' . $value[0] . '.\', ';
break;
case "varc":
$sql_str .= $value[0] . ' = "\'.$' . $value[0] . '.\'", ';
break;
}
}

return substr_replace($sql_str, "", -2) . " WHERE ";
}

// -------------- -

function get_tables($con, $dbname)
{
$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
$res = array();
if (!$result)
{
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
die;
}

while ($row = mysql_fetch_row($result))
{
array_push($res, $row[0]);
}
array_unshift($res, "Select table");
return $res;
}

// -------------- -

function create_post_var($ar)
{
foreach ($ar as $k => $v)
{
echo '$' . $v[0] . ' = mysql_real_escape_string($_POST[' . "'$v[0]'" . ']);<br>';
}
}

// -------------- -

function create_get_var($ar)
{
foreach ($ar as $k => $v)
{
echo '$' . $v[0] . ' = mysql_real_escape_string($_GET[' . "'$v[0]'" . ']);<br>';
}
}

// ############## # FUNCTION END # ##############

if (isset($_GET['db']))
{
if ($_GET['db'] == 'Select database')
die;
$_SESSION['database'] = $_GET['db'];
$dbname = mysql_real_escape_string($_GET['db']);
$table_list = get_tables($con, $dbname);
?>
<p></p>
<select value="lopper" name="table_list"
onchange="htmlData('m_insert.php', 'table='+this.value)" />
foreach ($table_list as $k => $v)
{
echo '<option>' . $v . '</option>';
}
echo '</select></p>';

die;
}

if (isset($_GET['table']))
{
$db_selected = mysql_select_db($_SESSION['database'], $con);

$table = mysql_real_escape_string($_GET['table']);

$table_array = desc_table($table, $con);

$sql_str = sql_insert($table_array, $table);

$sql_update = sql_update($table_array, $table);

echo '<p>Table: ' . $table . '</p>';

echo '<p>' . $sql_str . '</p>';

echo '<p>' . $sql_update . '</p><br>';

echo '<p>$_POST to variable</p>';
create_post_var($table_array);

echo '<p>$_GET to variable</p>';
create_get_var($table_array);
}
else
{
$dbs = get_db($con);

if ($show_information_schema)
{
// remove information_schema from database list
$res = array_search('information_schema', $dbs);
unset($dbs[$res]);
}
?>
<select name="db_list"
onchange="htmlData('m_insert.php', 'db='+this.value)" />
foreach ($dbs as $k => $v)
{
echo '<option>' . $v . '</option>';
}
echo '</select>';

echo '<div id="txtResult"> </div>';
die;
}
?>[/php]

Quelle

QR-Code Generator Script in PHP

Dieses kleine, kostenlose QR-Code Generator Script ermöglicht es den Besuchern Deiner Website, eigene QR-Codes zu generieren. Dabei können Rufnummern, Texte oder Internetdressen eingegeben werden.

Einen Datei-Download forcieren

Dieses kleine Script erlaubt das forcieren eines Datei-Downloads

Inhalt downloadFile.php


$filename = $_GET['file']; //Get the fileid from the URL
// Query the file ID
$query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename));
$sql = mysql_query($query);
if(mysql_num_rows($sql) > 0){
$row = mysql_fetch_array($sql);
// Set some headers
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename($row['FileName']).";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($row['FileName']));

@readfile($row['FileName']);
exit(0);
}else{
header("Location: /");
exit;
}
?>[/php]
files.php

<a href="downloadFile.php?file=7383">Download</a>[/php]
Quelle: phpsnips.com

Posting zeitgesteuert in Feeds einbinden

Diese Funktion in die funtions.php des aktuellen WordPress Themes eingebaut, erlaubt es Postings in RSS verzögert zu publizieren. In diesem Fall durch die Variable $wait um fünf Minuten. So kann man in letzer Minute noch Änderungen vornehmen.

function publish_later_on_feed($where) {
global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');

// value for wait; + device
$wait = '5'; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}

add_filter('posts_where', 'publish_later_on_feed');
[/php]
Quelle