重複の可能性:
オブジェクトを文字列に変換できませんでしたか?
画像にランダムなタイトルを作成する必要があり、エラーが発生しました
クラス MPRandomText のオブジェクトは、C:\Program Files (x86)\EasyPHP-5.3.9\www\dir.php の 42 行目で文字列に変換できませんでした
HTML画像のタイトルにランダムなテキストを含めるにはどうすればよいですか?
class MPRandomText
{
var $filepath;
var $sepstring;
var $fixchar;
var $textfix;
var $contents;
var $random;
var $errors;
// initiate object and start functions
function MPRandomText($filepath, $sepstring, $textfix)
{
$this->filepath = $filepath;
$this->textfix = $textfix;
$this->sepstring = $sepstring;
$this->errors = "";
$this->contents = "";
$this->FileToString();
}
// read file contents into string variable
function FileToString()
{
if (!$this->filepath || !file_exists($this->filepath))
$this->errors = "Could not find text file at ".$this->filepath;
else {
@$filePointer = fopen($this->filepath, "r");
if (!$filePointer) $this->errors = "Text file could not be opened.";
if ($this->errors == "")
{
$this->contents = fread($filePointer, filesize($this->filepath));
fclose($filePointer);
if (!$this->textfix) $this->HTMLContent();
$this->MakeArray();
}
}
}
// if importing an HTML page, drop everything outside of (and including) the <body> tags
function HTMLContent()
{
$test = stristr($this->contents, "<body");
if ($test !== false)
{
$test = stristr($test, ">");
if ($test !== false)
{
$test = str_replace("</BODY>", "</body>", $test);
$test = explode("</body>", substr($test, 1));
if (count($test) > 1) $this->contents = $test[0];
}
}
}
// convert the file text into a list using separation character
function MakeArray()
{
$array = explode($this->sepstring, $this->contents);
if (count($array) > 0)
{
$this->contents = $array;
$this->CleanTextList();
} else $this->errors = "Text file contents are empty or could not be read.";
}
// clean up the list of empty values and extra white space
function CleanTextList()
{
$result = array();
if (is_array($this->contents))
{
for ($n=0; $n<count($this->contents); $n++)
{
$string = trim($this->contents[$n]);
$test = trim($string."test");
if (!empty($string) AND $test != "test") $result[] = $string;
}
if (count($result) > 0)
{
$this->contents = $result;
$this->RandomString();
}
}
}
// get random text string from list
function RandomString()
{
reset($this->contents);
srand((double) microtime() * 1000000);
shuffle($this->contents);
$this->random = $this->contents[0];
}
// send finished results to be printed into HTML page
function GetResults()
{
if ($this->errors != "") return $this->errors;
else
{
if ($this->textfix == true) $this->random = htmlentities($this->random);
return $this->random;
}
}
}
//-------------------------------------------------------------------------------------------------
// FUNCTION AND VARIABLE TO CREATE RANDOM TEXT INSTANCE
//-------------------------------------------------------------------------------------------------
// create variable to store instance references
$MPRandomTextHandles = array();
// function to create new handle and import random text
function MPPrintRandomText($MPTextFile = "random.txt", $MPSepString = "*divider*", $MPTextToHTML = false)
{
global $MPRandomTextHandles;
for ($n=0; $n<250; $n++)
{
if (!isset($MPRandomTextHandles[$n]))
{
$MPRandomTextHandles[$n] = new MPRandomText($MPTextFile, $MPSepString, $MPTextToHTML);
break;
}
}
print($MPRandomTextHandles[$n]->GetResults());
return $MPRandomTextHandles[$n];
}
/* Начало конфигурации */
$thumb_directory = 'img/thumbs';
$orig_directory = 'img/imag';
/* Конец конфигурации */
$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$title1='גילוף פסלים בעץ';
$i=0;
/* Открываем папку с миниатюрами и пролистываем каждую из них */
$dir_handle = @opendir($thumb_directory) or die("There is an error with your
image directory!");
$i=1;
while ($file = readdir($dir_handle))
{
/* Пропускаем системные файлы: */
if($file=='.' || $file == '..') continue;
$file_parts = explode('.',$file);
$ext = strtolower(array_pop($file_parts));
/* Используем название файла (без расширения) в качестве названия изображения: */
// $title = implode('.',$file_parts);
// $title = htmlspecialchars($title);
include_once("GetRandomText.php");
$MPTextFile = "random.txt";
$MPSepString = "*divider*";
$MPTextToHTML = false;
$title = MPPrintRandomText($MPTextFile, $MPSepString, $MPTextToHTML);
/* Если расширение разрешено: */
if(in_array($ext,$allowed_types))
{
/* Выдаем каждое фото: */
echo '<li>
<a href="'.$orig_directory.'/'.$file.'" rel="lightbox[pasel]">
<img title="'.$title.'" src="'.$thumb_directory.'/'.$file.'" width="72" height="72" alt="גילוף פסלים בעץ" />
</a>
</li>';
}
}
/* Закрываем папку */
closedir($dir_handle);