私のウェブサイトには、ユーザーが書いたタイトルとストーリーを含むストーリーのアップロード機能があります。ディレクトリにテキストファイルとしてアップロードします。これらのファイルの内容をphpなどを使って一覧表示する方法はありますか? また、ストーリーの 200 文字程度のみを表示し、ストーリー全体を表示する「ストーリー全体を表示」ボタンを用意したいと思います (これには jQuery を使用します)。
ありがとう!
php.net: ディレクトリを開く: opendir() http://php.net/manual/en/function.opendir.php
$dir = opendir('/path/to/files');
ディレクトリを読み取る (ループできます): readdir() http://www.php.net/manual/en/function.readdir.php
while (false !== ($file= readdir($dir))) {
//$file has the filename
}
ファイルの内容を取得するには: file_get_contents() http://php.net/manual/es/function.file-get-contents.php
$content=file_get_contents($file);
$dataArray = array();
//Number of chars for the string
$num = 200;
//Check if DIR exists
if ($handle = opendir('.')) {
//Loop over the directory
while (false !== ($file = readdir($handle))) {
//Strip out the . and .. files
if ($file != "." && $entry != "..") {
$dataArray[] = array();
//Store file contents
$filecontent = file_get_contents($file);
//Split the content and store in array
$length = strlen($filecontent);
$dataArray[] = array(substr($filecontent, 0, $num), substr($filecontent, $num, $length ));
}
}
//close the dir
closedir($handle);
}
これにより、.txt ファイルのすべてのコンテンツを含む配列を取得し、2 つの文字列に分割します。一方は 200 文字で、もう一方は残りの文字列です。
長さ 200 の文字列は $dataArray[x][0] で、もう 1 つは $dataArray[x][1] です。
これを HTML で使用できるようになりました。
<?php foreach($dataArray as $data) { ?>
<div class="visible">
<?php echo $data[0]; ?>
</div>
<div class="hidden">
<?php echo $data[1]; ?>
</div>
<?php } ?>