- Ich ermittel den erzielten Monatstraffic per php-Datei.
- Wenn der Wert X erreicht wurde, dann werden die Videoseiten gesperrt
Dadurch konnte ich aber bisher nicht davor schützen, dass User einfach den direkten Link zum Video weiter geben und damit weiterhin Traffic generieren.
Daher gehe ich dagegen wie folgt an mit diesem kleinen Script, dass ich mir ins Adminverzeichnis gelegt habe:
Code: Alles auswählen
<?php
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
// Files & Variables of phpBB
define('IN_PHPBB', true);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
$filenamearray = file($phpbb_root_path . 'usage/index.html');
$dateiname = substr(str_replace('<TR><TD NOWRAP><A HREF="', '', str_replace('"><FONT SIZE="-1">', '', str_replace('</FONT></A></TD>', '', trim($filenamearray[50])))), 0, 17);
$_kbarray = file($phpbb_root_path . 'usage/' . $dateiname);
$newarray = array();
for ($i = 0; $i < count($_kbarray); $i++)
{
if ( strstr($_kbarray[$i], '.wmv') )
{
$_kbarray[$i] = trim(strip_tags($_kbarray[$i]));
array_push($newarray, "files/" . basename($_kbarray[$i],".wmv") . ".wmv"); // ein kleiner Trick um den Schrägstrich vor "files" wegzubekommen :D
}
}
// $newarray enthält nun die zu ändernden Dateinamen inkl. "files/"
//print_r($newarray);
for ($i = 0; $i < count($newarray); $i++)
{
echo("Wir beginnen mit Datei $newarray[$i]:<br />");
if ( is_file($phpbb_root_path . $newarray[$i]) ) // ist die Datei überhaupt im Ordner "files/" vorhanden?
{
echo("Die Datei ist vorhanden...<br />");
$old_filename = basename($newarray[$i]);
//
// Go ahead and pull all data for this video
//
$sql = "SELECT real_filename, extension
FROM phpbb_attachments_desc
WHERE physical_filename = '" . $old_filename . "'
LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain video information.", '', __LINE__, __FILE__, $sql);
}
// Did the query return any data?
if ( $videorow = $db->sql_fetchrow($result) )
{
$new_filename = basename($videorow['real_filename'], ".wmv") . '_' . substr(rand(), 0, 3) . '.' . $videorow['extension'];
$renamefile = rename($phpbb_root_path . $newarray[$i], $phpbb_root_path . 'files/' . $new_filename);
if ($renamefile)
{
echo("Die Datei konnte erfolgreich in $new_filename umbenannt werden...<br />");
//
// Update the filename
//
$sql = "UPDATE phpbb_attachments_desc
SET physical_filename = '" . $new_filename . "'
WHERE physical_filename = '" . $old_filename . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update filename in database!', '', __LINE__, __FILE__, $sql);
}
else
{
echo("Die Datei wurde erfolgreich in der Datenbank gespeichert...<br /><br />");
}
}
else
{
echo("Die Datei konnte nicht in $new_filename umbenannt werden! (Fehler)<br /><br />");
}
}
else
{
echo("Die Datei wurde nicht in der Datenbank gefunden! (Fehler)<br /><br />");
}
}
else
{
echo("Die Datei befindet sich nicht im Ordner \"files/\"!<br /><br />");
}
}
?>
Das sieht dann so aus:
Vielleicht kann ja jemand etwas mit diesem Codeschnippsel anfangen.Wir beginnen mit Datei files/fulda_05_190.wmv:
Die Datei ist vorhanden...
Die Datei konnte erfolgreich in fulda_05_181.wmv umbenannt werden...
Die Datei wurde erfolgreich in der Datenbank gespeichert...
Wir beginnen mit Datei files/mghonda_121.wmv:
Die Datei ist vorhanden...
Die Datei konnte erfolgreich in mghonda_112.wmv umbenannt werden...
Die Datei wurde erfolgreich in der Datenbank gespeichert...
Wir beginnen mit Datei files/vtecmagic1_205.wmv:
Die Datei ist vorhanden...
Die Datei konnte erfolgreich in vtecmagic1_169.wmv umbenannt werden...
Die Datei wurde erfolgreich in der Datenbank gespeichert...
usw...
Seitdem ich die Traffickontrolle integriert habe spare ich bares Geld. Ca. 50 - 200,- EUR musste ich in der Vergangenheit alleine für zusätzlichen Traffic im Monat berappen. Das hat sich seit den Modifikation auf 0 reduziert

Als Gimmick haben ganz bestimmte User aber immer noch die Möglichkeit die Videos zu sehen, wenn der Traffic abgelaufen ist. Wie ich finde eine nette Sache

Insbesondere steigen die Userregistrierungen zum Ende eines Monats rapide an (sobald der Traffic abgelaufen ist, muss man sich einloggen wegen der Rechteabfrage und das animiert viele User zur Registrierung.)
Gruß