0

次のように機能する PHP フォト ギャラリー スクリプトがあります。

$image_path        = "../images/11/mycoolphotos/md";

スクリプトと写真が同じサーバーにある場合、これは完全に機能します!

ただし、すべてのイメージを Amazon S3 に転送しただけなので、パスは次のようになります。

$image_path        = "https://s3.amazonaws.com/mywebsite/images/11/mycoolphotos/md";

しかし、それはうまくいきません!! LIST や ../ Path ?? のようなファイルは読みません。「注文ファイル パス」を含めることができますが、それは機能しますが、8000 のフォト ギャラリーがあります。働き過ぎ ?

$order_file_path  = "https://s3.amazonaws.com/mywebsite/images/11/mycoolphotos.txt";
// this works, but it would take too much time. This just lists the image names, like 1.jpg, 2.jpg,.. so on for that gallery

サーバーの読み取りをだますかどうか疑問に思っています (これを .htaccess に書き換える方法がわからない)

https://s3.amazonaws.com/mywebsite/images/

なので

../

それがうまくいくとしたら?

そうでなければ、ここからどこへ行けばよいかわかりません。

よろしくお願いします!

編集の更新: PATH 読み取り機能を見つけました: 誰でもこれをデコードできますか? 以下の提案を試しましたが、うまくいきませんでした.... ?

/**
 * 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 'Working on older photos, please check back.';
    exit;
} 

$image_number = count ($image_data);
4

1 に答える 1

2

そのためにプロキシモードでmod_rewriteを使用できます。

   RewriteEngine on
   RewriteRule ^images/(.*)$ https://s3.amazonaws.com/mywebsite/images/$1 [P]

乾杯。

于 2012-09-17T16:21:49.597 に答える