Posts: 1
Name: Abdulla
|
Hello,
When I run my script throw my computer as server it works. But when I upload it on a server it says: "Could not find/open font in /home/www/pewdie.com/lib/class.sig.php on line".
There's a font and an image that the script cant seem to pick up after Ive uploaded it on the server.
Im clueless, any idea what Im doing wrong? Im sure its not the scripts fault but I'm gonna post it here anyway
PHP Code:
<?php /** * @name dynamicMALsig * @version 1.0 * @author David Frerich * @category Dynamic Image * @filesource http://myanimelist.net */ /* * [ Includes ] */ include('lib/function.summertime.php'); include('lib/class.sig.php'); /* * [ Configuration ] */ $Signature = new dynamicMALsig(); // Link to RSS Feed (e.g: http://myanimelist.net/rss.php?type=rw&u=Pewdie) $Signature->sMALLink = 'http://myanimelist.net/rss.php?type=rw&u=Pewdie'; // Timezone in GMT (e.g the german standard: GMT+1 = 1) $Signature->iGMT = 3; // Summertime (true/false) In europe the timezone in the summermonths is +1 hour $Signature->bSummertime = true; // Animecount to be displayed $Signature->iCount = '2'; // Fontfiles located in subdirectory /fonts $Signature->sFontFile1 = 'today.ttf'; $Signature->sFontFile2 = 'today.ttf'; // Picture in witch the text should be placed (png format) $Signature->sImageFile = 'hejsan.png'; // Positiondata for the text $Signature->aPositionData['X'] = 315; // horizontal $Signature->aPositionData['Y'] = 32; // vertical $Signature->aPositionData['SubX'] = -3; // distance subtext horizontal $Signature->aPositionData['SubY'] = 9; // distance subtext vertikal $Signature->aPositionData['Angle'] = 0; // Angle, 0 for no angle $Signature->aPositionData['Space'] = 35; // Space between Animetitles // Language $Signature->sLanguage = 'eng'; // 'ger' or 'eng' so far
/* * [ Creation and Output ] */ $pImage = $Signature->create(); header('Content-type: image/png'); ImagePNG ($pImage); ImageDestroy ($pImage); ?>
PHP Code:
<?php /** * @name dynamicMALsig * @version 1.0 * @author David Frerich * @category Dynamic Image * @filesource http://myanimelist.net */ class dynamicMALsig { // Default Values for public Variables public $sMALLink = 'http://myanimelist.net/rss.php?type=rwe&u=Pewdie'; public $iGMT = -5; public $bSummertime = true; public $iCount = ''; public $sFontFile1 = 'arial.ttf'; public $sFontFile2 = 'arial.ttf'; public $sImageFile = ''; public $aPositionData = array('X' => 0, 'Y' => 0, 'SubX' => 0, 'SubY' => 0, 'Angle' => 0, 'Space' => 0); public $sLanguage = 'eng'; // Localization private $aMonth = array( 'ger' => array(1=>'Januar', 2=>'Februar', 3=>'März', 4=>'April', 5=>'Mai', 6=>'Juni', 7=>'Juli', 8=>'August', 9=>'Septemper', 10=>'Oktober', 11=>'November', 12=>'Dezember'), 'eng' => array(1=>'January', 2=>'February', 3=>'March', 4=>'April', 5=>'May', 6=>'June', 7=>'July', 8=>'August', 9=>'Septemper', 10=>'October', 11=>'November', 12=>'December')); private $aDay = array( 'ger' => array(1=>'Montag', 2=>'Dienstag', 3=>'Mittwoch', 4=>'Donnerstag', 5=>'Freitag', 6=>'Samstag', 0=>'Sonntag'), 'eng' => array(1=>'Monday', 2=>'Tuesday', 3=>'Wednesday', 4=>'Thursday', 5=>'Friday', 6=>'Saturday', 0=>'Sunday')); private $aOutput = array( 'ger' => array('gestern um ', ' Uhr', ' Stunden', ' Minuten', 'einer Stunde', 'einer Minute', 'vor ', ' und ', ''), 'eng' => array('Yesterday at ', ' o´clock', ' Hours', ' Minutes', 'One Hour', 'One Minute', '', ' and ', ' Ago')); // Private Variables private $aMonthFind = array('Jan'=>1, 'Feb'=>2, 'Mar'=>3, 'Apr'=>4, 'May'=>5, 'Jun'=>6, 'Jul'=>7, 'Aug'=>8, 'Sep'=>9, 'Oct'=>10,'Nov'=>11,'Dec'=>12); public function create() { $aRSS = simplexml_load_file($this->sMALLink); $aMonthLoc = $this->aMonth[$this->sLanguage]; $aDayLoc = $this->aDay[$this->sLanguage]; $aLoc = $this->aOutput[$this->sLanguage]; if(gettype($aRSS)== 'string') print "Error"; else { $pImage = imagecreatefrompng ($this->sImageFile); $pImageblack = ImageColorAllocate ($pImage, 255, 255, 255); $pImagewhite = ImageColorAllocate ($pImage, 255, 255, 255); $pImagelightblue = ImageColorAllocate ($pImage, 255, 255, 255); $pImagered = ImageColorAllocate ($pImage, 255, 255, 255); $iCount = ''; foreach($aRSS->channel->item as $aValue) { $iDescTrenner = strpos($aValue->description, ' - '); $sAnimeStatus = substr($aValue->description, 0, $iDescTrenner); if(($sAnimeStatus == 'Watching' || $sAnimeStatus == 'Completed') && $iCount++ < $this->iCount) { $sAnimeName = substr($aValue->title, 0, strpos($aValue->title, ' - ')); $aAnimeEpisode = explode(' of ',substr($aValue->description, ($iDescTrenner + 3), (strpos($aValue->description, ' episodes') - ($iDescTrenner + 3)))); $sAnimeEpisodes = $aAnimeEpisode['0'].'/'.$aAnimeEpisode['1']; $aAnimeTimeInfo = explode(' ',$aValue->pubDate); $aUhrzeit = explode(':',$aAnimeTimeInfo['4']); $iHour = (int)$aUhrzeit['0'] - ((int)$aAnimeTimeInfo['5']/100) + $this->iGMT; $pImageminute = (int)$aUhrzeit['1']; $iSecond = (int)$aUhrzeit['2']; $iDay = $aAnimeTimeInfo['1']; $pImageonth = $this->aMonthFind[$aAnimeTimeInfo['2']]; $iYear = $aAnimeTimeInfo['3']; $iAnimeTimeStamp = mktime($iHour, $pImageminute, $iSecond, $pImageonth, $iDay, $iYear); if($this->bSommerzeit == true) { $iYear = date('Y',$iAnimeTimeStamp); if(dst_start($iYear) <= time() && dst_end($iYear) > time()) { $iAnimeTimeStamp += 60*60; } } $sAnimeTime1 = $aDayLoc[date('w',$iAnimeTimeStamp)].': '.date('d',$iAnimeTimeStamp).'. '.$aMonthLoc[date('n',$iAnimeTimeStamp)]; $sAnimeTime3 = $aLoc['0'].date('H:i',$iAnimeTimeStamp).$aLoc['1']; $iAnimeTime2Minuten = round((time()-$iAnimeTimeStamp)/60); if($iAnimeTime2Minuten >= 60) { $iAnimeTime2Stunden = floor($iAnimeTime2Minuten/60); $iAnimeTime2Minuten -= $iAnimeTime2Stunden*60; $sHour = $iAnimeTime2Stunden.$aLoc['2']; if($iAnimeTime2Minuten != 0) $sMinute = $iAnimeTime2Minuten.$aLoc['3']; if($iAnimeTime2Stunden == 1) $sHour = $aLoc['4']; if($iAnimeTime2Minuten == 1) $sMinute = $aLoc['5']; $sAnimeTime2 = $aLoc['6'].$sHour.$aLoc['7'].$sMinute.$aLoc['8']; } else { $sMinute = $iAnimeTime2Minuten.$aLoc['3']; if($iAnimeTime2Minuten == 1) $sMinute = $aLoc['5']; $sAnimeTime2 = $aLoc['6'].$sMinute.$aLoc['8']; } if(date('Y',$iAnimeTimeStamp) == date('Y') && date('d',$iAnimeTimeStamp) == date('d') && date('n',$iAnimeTimeStamp) == date('n')) { $sAnimeTime = $sAnimeTime2; } elseif(date('Y',($iAnimeTimeStamp+86400)) == date('Y') && (int)date('d',($iAnimeTimeStamp+86400)) == date('d') && date('n',($iAnimeTimeStamp+86400)) == date('n')) { $sAnimeTime = $sAnimeTime3; } else { $sAnimeTime = $sAnimeTime1; } // Animetitel imagettftext ($pImage, 25, $this->aPositionData['Angle'], ($this->aPositionData['X']+$iCount*$this->aPositionData['Angle']),($this->aPositionData['Y']+$iCount*$this->aPositionData['Space']), $pImagewhite, 'fonts/'.$this->sFontFile1, $sAnimeName.' ('.$sAnimeEpisodes.')'); // Animesubtitle imagettftext ($pImage, 15, $this->aPositionData['Angle'], ($this->aPositionData['X']+$this->aPositionData['SubX']+$iCount*$this->aPositionData['Angle']), ($this->aPositionData['Y']+$this->aPositionData['SubY']+$iCount*$this->aPositionData['Space']), $pImagewhite, 'fonts/'.$this->sFontFile2, $sAnimeTime); } } return $pImage; } } } ?>
Thanks for your help!
Yours,
Pewdie~
|