PHPでファイルをアップロードするときに、完全なファイルパスを取得する方法を本当に知りたいですか?
これが私の問題です...
PHPでcsvファイルをインポートしています。ファイルのアップロードは問題ありませんが、csv ファイルのインポートに使用される関数 fgetcsv() には fopen が必要です。fopen は、ファイルがphpファイルと同じディレクトリにある必要があることを意味する正確なファイルパスを必要とするため、頭痛の種です。ユーザーが別のディレクトリからファイルを取得した場合はどうなりますか。
これが私のコードです:
index.php:
<form action="csv_to_database.php" method="POST" enctype="multipart/form-data">
<input type="file" name="csv_file" />
<input type="submit" name="upload" value="Upload" />
</form>
csv_import.php:
<?php
if ($_FILES['csv_file']['error'] > 0) {
echo "Error: " . $_FILES['csv_file']['error'] . "<br />";
}else{
if (($handle = fopen($_FILES['csv_file']['name'], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
for ($c=0; $c < count($data) ; $c++) {
echo $data[$c] . " ";
}
echo "<br />";
}
fclose($handle);
}
}
?>
ここで fopen は、変数によって渡されるファイル名のみを取得できます$_FILES['csv_file']['name']。インターネットで $_FILES の完全なファイルパスを取得する関数を取得しようとしましたが、見つかりません。
私はウェブ開発に非常に慣れていないので、しばらくお待ちください。できるだけ簡単に答えてください...助けてください...