0

このフォト ギャラリー関数を書き直すのに最も苦労しています。画像と同じサーバー上で完全に動作します。コストがかかるため、すべての画像を別のサーバーに移動する必要がありました。

ギャラリー機能は、同じサーバーでうまく機能します。http://www.myotherserver.comのようなリモート サーバー パスを試すと、 そこに画像が返されません。

画像ファイルなしで画像を読み取り/一覧表示する「関数」を見つけましたが、それをデコードしてリモートサーバーで使用することはできませんか?

ヘルプやアイデアはありますか? ありがとう。

関数は次のとおりです。

注:: 画像の順序で .txt ファイルを使用するつもりはありません。スクリプトでディレクトリを読み取り、使用する画像を一覧表示するだけです。

/**
 * Check for image order file. In case it does not
 * exists, read the image directory.
 */
  if (is_file($order_file_path . '/' . $order_file_name)) {

  $fp  = fopen($order_file_path . '/' . $order_file_name, "r");
    $row = '';
    $use_order_file = 'true';

    while ($data = fgetcsv ($fp, 1000, ';')) {
        $image_data[] = trim($data[0]);
        $image_file_names[trim($data[0])] = trim($data[0]);
        $num = count($data);
        $row++;

        for ($j = 0; $j < $num; $j++) {
            $content_data_temp['field_' . $j] = $data[$j];
        } 

        $content_data[] = $content_data_temp;
        $content_data_temp = '';
    } 
    fclose ($fp);
} else if (is_dir($image_path)) {
    $content_data = '';
    $handle = opendir($image_path);

    while ($file = readdir($handle)) {
        if (preg_match("/^\.{1,2}$/i", $file)) {
            continue;
        } 
        if (preg_match("/\.[a-z]{3}$/i", $file)) {
            $image_data[] = $file;
            $image_file_names[$file] = $file;
        } 
    } 
    closedir($handle);
} else {
    echo 'Image Path not working';
    exit;
} 

$image_number = count ($image_data);
4

1 に答える 1

1

検討できるオプションの 1 つは、リモートの写真ディレクトリを NFS 共有としてマウントすることです。そうすれば、NFS 共有がローカル ディレクトリのように機能するため、スクリプトは問題なく動作します。

それ以外は、あるサーバーからは他のサーバーのファイルシステムにアクセスできないため、このスクリプトは機能しないことに注意してください。私が考えることができる「汚い」オプションは、インデックスをオンにして写真マシンにWebサーバーをセットアップし、「フォルダー」に移動して、結果のHTMLを解析することです。

于 2012-09-20T08:17:37.237 に答える