- 締切済み
PHP の ファイルアップロード
私は以下のスクリプトを実行しましたがエラーが出ました。誰か教えてください。 --------------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>ファイルアップローダー2</title> </head> <body> <form method="post" enctype="multipart/form-data" action="09_03_fileup.php"> <input type="file" name="data" size="30"> <input type="submit" value="表示!"> </form> <!--ここからPHPが始まります。--> <?php $updir = "./updir/"; //ファイルを保存するフォルダ $filename = $_FILES['data']['name']; if(file_exists($_FILES['data']['tmp_name'])){ //ファイルの存在を確認 tempの状態で確認 $filesize = filesize($_FILES['data']['tmp_name']); //ファイルサイズを取得 tempの状態で取得 if($filesize <= 100000){ if(ereg("(^[a-zA-Z0-9_-]+)\.(jpg)|(^[a-zA-Z0-9_-]+)\.(gif)",$filename)){ //jpgかgifしかアップできない move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename); //ファイルをuploadフォルダに保存 echo "ファイル名 " . $filename . " アップロード成功!"; echo $_FILES['data']['error']; echo "<br><br>"; echo "<img src='./$updir/$filename'>"; } else { echo "jpg かgif のファイルしかアップできません。或いはハイフン以外の記号があります。"; } } else { echo "$filesize Byte ファイルサイズが大きすぎます。<br>100000 Byte 以下にしてください。"; } } else { echo "ファイルをアップした順にテーブルに並べていきます。20枚でお終い。<br>"; } //ここから保存されたファイルの表示部分の記述です。 if ($handle = opendir($updir)) { //フォルダを開きます。 echo "<table border='1'>"; $cnt = 1; //カウント用の数字です。 while (false !== ($file = readdir($handle))) { //ファイルがあればすべて順に読みこむ if ($file != "." and $file != "..") { //.と..を読まないようにします。 if($cnt % 5 == 0){ //カウントが5で割って0なら右端なので</tr>を付ける echo "<td><img src='$updir/$file' width='112'></td></tr>"; } else if($cnt % 5 == 1){ //5で割って1なら左端なので<tr>を付ける echo "<tr><td><img src='$updir/$file' width='112'></td>"; } else { echo "<td><img src='$updir/$file' width='112'></td>"; } $cnt++; } if($cnt > 20){ //カウントが20を超えたら終了 break; } } closedir($handle); //フォルダを閉じます } //ここからテーブルがぴったり右端で終わらなかった時の処理 if(!(($cnt-1) % 5 == 0)){ //右端ぴったりで終わらなかったら $cvr = 5-($cnt-1) % 5; for($a=1;$a<=$cvr;$a++){ //足りない分だけ補う echo "<td width='112'> </td>"; } echo "</tr>"; } echo "</table>"; ?> <!--これでPHPは終わりです。--> </body> </html> --------------------------------------------------------------- エラーが以下の通りです --------------------------------------------------------------- Parse error: parse error, unexpected T_VARIABLE in /home/wwwbest/public_html/09_03_fileup.php on line 20 --------------------------------------------------------------
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- SeafooD3
- ベストアンサー率75% (6/8)
下記は修正済というか、余分なものを取り除いたコードです。 これでまたでるようでしたらエラーメッセージを教えて下さい。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>ファイルアップローダー2</title> </head> <body> <form method="post" enctype="multipart/form-data" action="test01.php"> <input type="file" name="data" size="30"> <input type="submit" value="表示!"> </form> <!--ここからPHPが始まります。--> <?php $updir = "updir/"; $filename = $_FILES['data']['name']; print_r($_FILES); if(file_exists($_FILES['data']['tmp_name'])){ //ファイルの存在を確認tempの状態で確認 $filesize = filesize($_FILES['data']['tmp_name']);//ファイルサイズを取得tempの状態で取得 if($filesize <= 100000){ //jpgかgifしかアップできない if(ereg("(^[a-zA-Z0-9_-]+)\.(jpg)|(^[a-zA-Z0-9_-]+)\.(gif)",$filename)){ move_uploaded_file($_FILES['data']['tmp_name'], $updir.$filename);//ファイルをuploadフォルダに保存 echo "ファイル名" . $filename . " アップロード成功!"; echo $_FILES['data']['error']; echo "<br><br>"; echo "<img src='./$updir/$filename'>"; } else { echo "jpg かgif のファイルしかアップできません。或いはハイフン以外の記号があります。"; } } else { echo "$filesize Byte ファイルサイズが大きすぎます。<br>100000 Byte 以下にしてください。"; } } else { echo "ファイルをアップした順にテーブルに並べていきます。20枚でお終い。<br>"; } //ここから保存されたファイルの表示部分の記述です。 if ($handle = opendir($updir)) {//フォルダを開きます。 echo "<table border='1'>"; $cnt = 1;//カウント用の数字です。 while (false !== ($file = readdir($handle))) { //ファイルがあればすべて順に読みこむ if ($file != "." and $file != "..") { //.と..を読まないようにします。 if($cnt % 5 == 0){//カウントが5で割って0なら右端なので</tr>を付ける echo "<td><img src='$updir/$file' width='112'></td></tr>"; } else if($cnt % 5 == 1){ //5で割って1なら左端なので<tr>を付ける echo "<tr><td><img src='$updir/$file' width='112'></td>"; } else { echo "<td><img src='$updir/$file' width='112'></td>"; } $cnt++; } if($cnt > 20){//カウントが20を超えたら終了 break; } } closedir($handle); //フォルダを閉じます } //ここからテーブルがぴったり右端で終わらなかった時の処理 if(!(($cnt-1) % 5 == 0)){//右端ぴったりで終わらなかったら $cvr = 5-($cnt-1) % 5; for($a=1;$a<=$cvr;$a++){//足りない分だけ補う echo "<td width='112'></td>"; } echo "</tr>"; } echo "</table>"; ?> <!--これでPHPは終わりです。--> </body> </html>
- SeafooD3
- ベストアンサー率75% (6/8)
こんにちは。 このPHPソースコードの中に全角スペースが入っているようです。それを取り除いてください。
補足
ありがとうございます。 やってみましたが。いまだに同じエラーがでます。どうしたらいいのでしょうか
お礼
ありがとうございました。ちゃんと動きました。本当にありがとうございました。