現在、PHPとHTMLを使ってファイルをアップロードするものを作成しています。
ファイルをアップロードしたのち、一覧で表示させたいのですが、ファイルアップロードの時点で躓いてしまいました。
様々な文献を見てやってみましたが、上手くいきません。
PHPのmove_uploaded_file
を使っているのですが、この選択自体間違っているのでしょうか?
以下、コードを添付します。
また、一覧で表示させる方法が何かあればご教授願いたいです。
【入力フォーム】
HTML
1<div> 2 <form action="log-all.php" method="post" enctype="multipart/form-data" > 3 <div> 4 <input type="file" name="log-file"> 5 </div> 6 <div> 7 <input type="submit" value="アップロード"> 8 </div> 9 </form> 10</div>
【action後のPHPファイル】
PHP
1<? 2 $_FILES['log-file']; 3 $tempfile = $_FILES['log-file']['tmp_name']; 4 $filename = 'log-file' . $_FILES['fname']['name']; 5 if (is_uploaded_file($tempfile)) { 6 if ( move_uploaded_file($tempfile , $filename )) { 7 echo $filename . "アップロードしました"; 8 } else { 9 echo "エラー"; 10 } 11 } else { 12 echo "ファイルが選択されていません"; 13 } 14?>
上のファイルの$filename = 'log-file' . $_FILES['fname']['name'];
中、'log-file'
は現在ディレクトリ指定していますが、ディレクトリ指定すると、以下のエラーが出ます。
ERROR
1Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in /Users/・・・/Desktop/・・・/log-all.php on line 6 2 3Warning: move_uploaded_file(): Unable to move '/private/var/folders/l3/dfjywhpj65d0f9qgpsfbjw1ccdnt7v/T/phpz7c1Mw' to 'log-file' in /Users/・・・/Desktop/・・・/log-all.php on line 6
そこでファイルを指定すると、大量の文字コードがファイル内に書かれる状況です。
回答2件
あなたの回答
tips
プレビュー