0

我们正在最艰难地重写这个照片库功能。它在与图像相同的服务器上完美运行。现在,由于成本高昂,我们不得不将所有图像移动到另一台服务器。

图库功能在同一台服务器上运行良好。当我们尝试使用远程服务器路径时,例如: http ://www.myotherserver.com - 那就是它返回 NO 图像的地方?

我们找到了读取/列出没有图像文件的图像的“功能”,但我们无法对其进行解码以在远程服务器上使用它?

任何帮助或想法?谢谢。

这是功能:

注意::我们不会使用带有图像顺序的 .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

您可以研究的一种选择是将远程图片目录挂载为 NFS 共享。这样,您的脚本就可以正常工作,因为 NFS 共享就像本地目录一样。

除此之外,您必须记住,您无法从一台服务器访问另一台服务器文件系统,因此该脚本将不起作用。我能想到的一个“脏”选项是在图片机器中设置一个带有索引的网络服务器,导航到“文件夹”并解析生成的 HTML。

于 2012-09-20T08:17:37.237 回答