ich habe den Signatur Mod für die 4images Galerie installiert und bin genau der Anleitung gefolgt.Aber wenn ich jetzt die signature.php aufrufe kommt diese Meldung
Die Grafik http://meine seite/signature.php kann nicht angezeigt werden,weil sie Fehler enthält
das steht z.b. im quelltext der signature.php
<b>Warning</b>: imagepng(): Unable to open '/tmp/signature.tmp' for writing in <b>C:\apachefriends\xampp\htdocs\home\4images\signature.php</b> on line <b>293</b><br />
<br />
<b>Warning</b>: readfile(/tmp/signature.tmp): failed to open stream: No such file or directory in <b>C:\apachefriends\xampp\htdocs\home\4images\signature.php</b> on line <b>304</b><br />
wie ihr sehen könnt habe ich das Script auf meinem Rechner laufen um es erstmal zu testen.Warum funktioniert das denn nicht? hat das mit der DNS Adresse zu tun?Oder ist der Root Pfad vielleicht falsch?*grml*
habe xampp übrigens über Windows laufen und nicht über Linux.
Die Suche hat nix ergeben,hoffe Ihr könnt mir helfen.
vielen dank
maike
hier der code der signature.php und der 4images Ordner liegt bei mir übrigens hier C:\apachefriends\xampp\htdocs\home\4images
- Code: Select all
<?php
#############################
# signature.php version 2.9.1 #
# - - - - - - - - - - - - - #
# Copyright © V@no 2004 #
#############################
# #
# TERMS OF USE #
# #
# NO PORNOGRAPHY OR ANY #
# OTHER PICTURES THAT COULD #
# BE TREATED AS OFFENSIVE #
# MAY BE SHOWED ON 4IMAGES #
# FORUM OR ANYWHERE ELSE #
# WHERE ITS NOT ACCEPTIBLE. #
# #
# PLEASE RESPECT OTHERS! #
# #
#############################
// ------- Config -----------
$random_image = 1; //show random image
$random_fast = 0; //if your mysql account doesn't have permission to create/delete temporary tables, set this to 0
$debug = 0; //turning this on, will ignore expiration time, meaning every request will create a new image. change this to 0 before u publish your signature!
$expire = 20; //seconds before image will be expired and recompilled with new random image and information (lower this will encrease server load!)
$type = "png"; //image type: png or jpeg
$quality = "50"; //image quality when used jpeg
define('ROOT_PATH', './'); //path to your 4images root dir
$signature_template = "http://shannara.designs.se/home/4images/signature.png"; //path to your signature template image
$path = "/tmp/"; // WRITEBLE dir (chmod 777), where compilled image will be stored (dont not requere access from web)
$tmpfname = $path."signature.tmp"; // filename for the compilled image (extension does not metter)
$tmptname = $path."signature.id"; // filename for the file where some extra info will be stored in (image id)
$template = "melting_film"; //name of the template witch icons will be used, if thumbnail not found
$sitename = "Statistics for Shannara-Sim2Fashion"; //signature header
$fsize = 2; //font type (1 - 5)
$offset = 7; //offset from the left, right and bottom, uses for random image and the text (not used if random image disabled)
$offset2 = 99; //extra offset from the left (place where random image will be embeded if its enabled. Not used if random image disabled)
$spacing = 11; //height of each line of text
$start = 21; //offset from top (space where header shows)
$tiny = 9; //an extra space at the begining of each line (needed for offset from the random image space)
$not_in_cat = "0"; //list of categories witch should not be included for random image, separated by coma (i.e. "1,2,3,7")
$auth = 0; //permission level for auth_viewimage (0 = All, 2 = Members, 3 = Private or 9 = Admin) Refer in /includes/constants.php
$peruser = 1; //alow per user random image (images uploaded by XX user. Usage: signature.php?user=XX)
$noimage = "jpeg.gif"; //icon name if no random image was found
$new_cutoff = 7; //Days when images treated as new
$lang_images = "Images: ";
$lang_users = "Members: ";
$lang_cat = "Categories: ";
$lang_new_user = "Newest member: ";
$lang_online = "Online: ";
$lang_comments = "Comments: ";
// --------- End Config ----------
#############################
# signature.php version 2.9.1
$peruser = ($peruser && isset($_GET['user']) && intval($_GET['user'])) ? intval($_GET['user']) : "";
$tmpfname .= $peruser;
$tmptname .= $peruser;
if (isset($_GET['go']) && $_GET['go'])
{
if ($handle = @fopen($tmptname, "rb")) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$imgid = intval($buffer);
}
fclose($handle);
}
define('GET_CACHES', 1);
include(ROOT_PATH.'global.php');
require(ROOT_PATH.'includes/sessions.php');
$user_access = get_permission();
$url = $site_sess->url(ROOT_PATH."index.php");
if ($imgid && $random_image) {
$sql = "SELECT cat_id
FROM ".IMAGES_TABLE."
WHERE image_id = $imgid";
if ($row = $site_db->query_firstrow($sql))
{
if (check_permission("auth_viewcat", $row['cat_id']) || check_permission("auth_viewimage", $row['cat_id'])) {
$url = (check_permission("auth_viewimage", $row['cat_id']) && check_permission("auth_viewcat", $row['cat_id'])) ? $site_sess->url(ROOT_PATH."details.php?image_id=".$imgid) : ((check_permission("auth_viewcat", $row['cat_id'])) ? $site_sess->url(ROOT_PATH."categories.php?cat_id=".$row['cat_id']) : $url);
}
}
}
header("Location: ".$url);
exit;
}
#
#############################
$imageid = 0;
$time = @filemtime($tmpfname);
if ($handle = @fopen($tmptname, "r")) {
if (!feof($handle)) {
$buffer = fgets($handle, 4096);
$imageid = intval($buffer);
}
fclose($handle);
}
$current_time = time();
if (!$time || (($current_time - $time) > $expire || ($current_time - $time) < 0) || $debug) {
$show = array();
include(ROOT_PATH.'config.php');
include(ROOT_PATH.'includes/constants.php');
include(ROOT_PATH.'includes/db_mysql.php');
define('MEDIA_PATH', ROOT_PATH.MEDIA_DIR);
define('THUMB_PATH', ROOT_PATH.THUMB_DIR);
define('MEDIA_TEMP_PATH', ROOT_PATH.MEDIA_TEMP_DIR);
define('THUMB_TEMP_PATH', ROOT_PATH.THUMB_TEMP_DIR);
define('TEMPLATE_PATH', ROOT_PATH.TEMPLATE_DIR."/".$template);
define('ICON_PATH', ROOT_PATH.TEMPLATE_DIR."/".$template."/icons");
include(ROOT_PATH.'includes/functions.php');
$site_db = new Db($db_host, $db_user, $db_password, $db_name);
// --- Random image -----
if ($random_image) {
if ($random_fast) {
mt_srand((double)microtime() * intval(session_id()));
$temptab = "tab_".mt_rand(0,1000000);
$sql = "CREATE TEMPORARY TABLE ".$temptab." TYPE = HEAP
SELECT i.image_id, i.cat_id
FROM ".IMAGES_TABLE." i
LEFT JOIN ".CATEGORIES_TABLE." c ON c.cat_id = i.cat_id
WHERE i.image_active = 1 AND c.auth_viewcat = $auth AND i.cat_id NOT IN ($not_in_cat)".(($peruser) ? " AND i.user_id = ".$peruser : "").(($imageid) ? " AND i.image_id <> ".$imageid : "")."
ORDER BY RAND()
LIMIT 1";
$result = $site_db->query($sql);
$sql = "SELECT t.image_id, t.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file
FROM ".$temptab." AS t
LEFT JOIN ".IMAGES_TABLE." AS i ON i.image_id=t.image_id";
$imagedata = $site_db->query_firstrow($sql);
$sql = "DROP TABLE ".$temptab;
$result = $site_db->query($sql);
}
else {
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file
FROM ".IMAGES_TABLE." i
LEFT JOIN ".CATEGORIES_TABLE." c ON c.cat_id = i.cat_id
WHERE i.image_active = 1 AND c.auth_viewcat = $auth AND i.cat_id NOT IN ($not_in_cat)".(($peruser) ? " AND i.user_id = ".$peruser : "").(($imageid) ? " AND i.image_id <> ".$imageid : "")."
ORDER BY RAND()
LIMIT 1";
$imagedata = $site_db->query_firstrow($sql);
}
$thumb = ($imagedata) ? get_file_path($imagedata['image_media_file'], "thumb", $imagedata['cat_id']) : ICON_PATH."/".$noimage;
}
else {
$offset = $offset2 = 0; //no need any offset if random image disabled
}
// --- Total users -----
$sql = "SELECT COUNT(*) AS total_users
FROM ".USERS_TABLE."
WHERE user_level > ".USER_AWAITING;
$row = $site_db->query_firstrow($sql);
$show['total_users'] = $row['total_users'];
// --- Total not activated users -----
$sql = "SELECT COUNT(*) AS total_users
FROM ".USERS_TABLE."
WHERE user_level = ".USER_AWAITING;
$row = $site_db->query_firstrow($sql);
$show['total_users_awaiting'] = $row['total_users'];
// --- Lattest username -----
$sql = "SELECT user_name
FROM ".USERS_TABLE."
WHERE user_level > ".USER_AWAITING."
ORDER BY user_id DESC";
$row = $site_db->query_firstrow($sql);
$show['new_user'] = stripslashes($row['user_name']);
// --- Total images -----
$sql = "SELECT COUNT(*) AS total_images
FROM ".IMAGES_TABLE."
WHERE image_active = 1";
$row = $site_db->query_firstrow($sql);
$show['total_images'] = $row['total_images'];
// --- Total new images -----
$new_cutoff = time() - 60 * 60 * 24 * $new_cutoff;
$sql = "SELECT COUNT(*) AS total_new_images
FROM ".IMAGES_TABLE."
WHERE image_active = 1 AND image_date > ".$new_cutoff;
$row = $site_db->query_firstrow($sql);
$show['total_new_images'] = $row['total_new_images'];
// --- Total categories -----
$sql = "SELECT COUNT(*) AS total_categories
FROM ".CATEGORIES_TABLE;
$row = $site_db->query_firstrow($sql);
$show['total_categories'] = $row['total_categories'];
/*
// --- Total comments -----
$sql = "SELECT SUM(image_comments) AS sum
FROM ".IMAGES_TABLE;
$row = $site_db->query_firstrow($sql);
$show['comments'] = $row['sum'];
*/
// --- Online users -----
$time_out = time() - 300;
$sql = "SELECT session_user_id, session_ip
FROM ".SESSIONS_TABLE."
WHERE session_lastaction >= $time_out";
$result = $site_db->query($sql);
$show['guests_online'] = $show['reg_online'] = 0;
while ($row = $site_db->fetch_array($result)) {
if ($row['session_user_id'] != GUEST) {
if (!isset($prev_user_ids[$row['session_user_id']])) {
$show['reg_online']++;
}
$prev_user_ids[$row['session_user_id']] = 1;
}
else {
if (!isset($prev_session_ips[$row['session_ip']])) {
$show['guests_online']++;
}
}
$prev_session_ips[$row['session_ip']] = 1;
}
//-----------------------
$total_online = $show['reg_online'] + $show['guests_online'];
$online = " (".$show['reg_online']." member".(($show['reg_online'] > 1 || !$show['reg_online'])? "s" : "")." and ".$show['guests_online']." guest".(($show['guests_online'] > 1 || !$show['guests_online'])? "s" : "").")";
$far = $offset2+$tiny+(strlen($lang_new_user))*($fsize+4);
//array with data:
//[0] - font type
//[1] - offset
//[2] - text
//[3] - color (i.e. "text_color" will use $text_color variable)
$stats = array(
array(array($fsize, $offset2+$tiny, $lang_images, "text_color"), array($fsize, $far, $show['total_images']." (".$show['total_new_images']." new)", "text_color")),
array(array($fsize, $offset2+$tiny, $lang_cat, "text_color"), array($fsize, $far, $show['total_categories'], "text_color")),
// array(array($fsize, $offset2+$tiny, $lang_comments, "text_color"), array($fsize, $far, $show['comments'], "text_color")),
array(array($fsize, $offset2+$tiny, $lang_users, "text_color"), array($fsize, $far, $show['total_users'], "text_color"), array($fsize, $far+strlen($show['total_users'])*($fsize+4), " and ".$show['total_users_awaiting']." not activated", "text_color")),
array(array($fsize, $offset2+$tiny, $lang_online, "text_color"), array($fsize, $far, $total_online, "red"), array($fsize, $far+strlen($total_online)*($fsize+4), $online, "text_color")),
array(array($fsize, $offset2+$tiny, $lang_new_user, "text_color"), array($fsize, $far, $show['new_user'], "text_color"))
);
$im = ImageCreateFromPNG($signature_template);
$width = imagesx($im);
$height = imagesy($im);
$text_color = ImageColorAllocate ($im, 0, 0, 0);
$red = ImageColorAllocate ($im, 255, 0, 0);
// ImageString($im, 3, $offset2+(($width-$offset2)/2)-(strlen($sitename)*7/2), 4, $sitename, $text_color);
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);
$i = $start;
foreach ($stats as $key) {
if ($key[0][2] == $lang_online && !$total_online) {
continue;
}
foreach ($key as $val) {
ImageString($im, $val[0], $val[1], $i, $val[2], $$val[3]);
}
$i = $i + $spacing;
}
if ($random_image) {
$image_info = getimagesize($thumb);
$types = array(1 => "gif", 2 => "jpeg", 3 => "png");
$th = "imagecreatefrom".$types[$image_info[2]];
$width_start = $image_info[0];
$height_start = $image_info[1];
$dimension = $offset2-$offset*2;
if ($height - $image_info[1] < $offset && $height - $offset2 < $offset) {
$dimension = $height - $offset*2;
}
$width_end = $dimension;
$height_end = $dimension;
if (($width_start > $width_end || $height_start > $height_end) && $width_start && $height_start && $width_end && $height_end) {
$ratio = $width_start / $height_start;
if ($ratio > 1) {
$width_end = $dimension;
$height_end = round(($dimension/$width_start) * $height_start);
}else{
$width_end = round(($dimension/$height_start) * $width_start);
$height_end = $dimension;
}
}elseif ($width_start || $height_start) {
$width_end = $width_start;
$height_end = $height_start;
}
$temp = imagecreateTrueColor($width_end, $height_end);
if ($image = $th($thumb)) {
imagecopyresized($temp, $image, 0, 0, 0, 0, $width_end, $height_end, ImageSX($image), ImageSY($image));
}
$posx = round(($offset2-$width_end)/2);
$posy = round(($height-$height_end)/2);
imagecopymerge($im,$temp, $posx, $posy, 0, 0, $width_end, $height_end, 100);
ImageRectangle($im, $posx-1, $posy-1, $posx+$width_end-1, $posy+$height_end-1, $text_color);
}
$function = "Image".$type;
$function($im,$tmpfname,$quality);
ImageDestroy($im);
$handle = @fopen($tmptname, "wb");
$contents = @fwrite($handle, (($random_image) ? $imagedata['image_id'] : 0));
@fclose($hande);
} //end compilling new image
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header("Content-disposition: filename=signature".MD5(time()).".".$type);
header("Content-Type: image/".$type);
readfile($tmpfname);
?>