PHPで次のシステム機能の実装方法を検討しています。


●sample.csvの内容
1,a.jpg
2,b.jpg
3,c.jpg
※ 各レコードは、"番号","画像ファイル"で構成されています。
※ 画像ファイルは、ローカル(c:\temp\)においてあるとします。

●実現機能
①ユーザがsample.csvファイルを選択する
②システムは、sample.csvの各レコードにある画像ファイルを読み込む

質問は、②についての実現方法がわかりませんので、ご教授をお願いいたします。

A案)PUSHで画像ファイルを選択せずに、$_FILEや一時保存先にこの画像ファイルを入れる。
B案)$_FILEを使用せずに、画像ファイルをローカルから直接読み込む。
C案)他によい方法

よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/08/15 23:45:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:ymlab No.1

回答回数508ベストアンサー獲得回数34

ポイント35pt

2番のところの読み込むところが少し不明ですが・・・・。

http://www.php-ref.com/web/03_move_uploaded_file.html

とりあえず、

$_FILEを使用して、csvのファイルパスを取得します。

それを$filepathとします。

$filepath = $_FILE[ パラメータ名 ][ tmp_name ];

で、これをexplode等でcsvをバラします。

<?php
$cnt = 0;
$fp = fopen( $filepath, 'r') or die;
while ( !feof( $fp ) ) {
    $row = fgets($fp, 100);
    list( $no[$cnt], $path[$cnt] ) = explode( ',', $row );
    $cnt++;
}
fclose($fp);
$basepath = "c:\\temp\\"; //←WindowsのPHPちょっと自信ありません・・。
//とりあえず、画面に出力する。
for ( $i = 0; $i < count($no); $i++ ) {
    print "<img src = \"$basepath$path[$i]\" />\r\n";
}
?>

こんな感じでしょうか。

//読み込むという意味がいろいろなパタンがありますが、

http://d.hatena.ne.jp/littlebuddha/20100217/1266421016

どのパタンでも、パスを指定すればOKです。

id:yamaneroom No.2

回答回数1040ベストアンサー獲得回数61

ポイント35pt

>②システムは、sample.csvの各レコードにある画像ファイルを読み込む

「読み込む」という日本語の意味が分からない


クライアントPC(ユーザーが利用しているPC)のローカルフォルダにある画像ファイルにアクセスしたいという意味なら、それは不可能

PHPに限らず、サーバサイド・スクリプトではセキュリティ上、そのようなことはできない。


JavaScriptなどクライアントサイド・スクリプトを使うのが現実的

http://q.hatena.ne.jp/

  • id:rouge_2008
    > ※ 画像ファイルは、ローカル(c:\temp\)においてあるとします。

    sample.csvも各画像ファイルも、アクセスしたユーザー側のPC内にあるという事ですか?
    セキュリティの関係上、ユーザー側のPCから勝手にファイルを取得する事はできないはずです。
    ユーザーがsample.csvと一緒に画像ファイルを選択して、サーバーにアップロードするしかないと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません