묻고답하기

잘~~되다가 갑자기 그럽니다. 대체 이유가 뭔지 모르겠내요.. img디렉토리 chmod 777로 만들고 *.dat 파일도

퍼미션 666으로 주고..그리고 파일 전부다 잘 올리고.해서 했는데..

파일을 올릴수없다고 나옵니다. 밑에 보시면      

if(is_uploaded_file($upfile)) {

      // 正しければファイルのコピーを行う

      copy($upfile, $copy_name);


     } else {

라고 is_uploaded_file함수로 파일이 잘 올려졌는지 안올려졌는지 확인하는 과정에서

FALSE값이 나와버립니다. 그래서 img디렉토리안에 파일이 안올려져있고요..

뭐가 문제죠!1?!?!?!?














<?php

$title = "画像アップロード機能付き掲示板";

$bgcolor = "white";

$background = "";

$data_file = "./imagebbs.dat";


$lib_file  = "./imagebbs_lib.php";

$page_max  = 10;


$data_max  = 200;


$img_dir = "./img";

?>

<HTML>

<HEAD>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">

<TITLE><?php echo $title ?></TITLE>

</HEAD>



<?php

// BODY の設定

if(empty($background)){

  echo "<BODY bgcolor="" . $bgcolor ."">n";

} else {

  echo "<BODY background="" . $background ."">n";

}

?>



<DIV align="center">

<H1><?php echo $title ?></H1>



<FORM method="post" action="<?php echo $PHP_SELF ?>" enctype="multipart/form-data">

<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">

<INPUT type="hidden" name="set" value="post">



<TABLE align="center" cellpadding="3">

<TR align="left">

<TD>名  前</TD>

<TD><INPUT type="text" name="name" size="30"><FONT size="-2">(必須)</FONT></TD>

</TR>



<TR align="left">

<TD>メール</TD>

<TD><INPUT type="text" name="email" size="30"></TD>

</TR>



<TR align="left">

<TD>URL</TD>

<TD><INPUT type="text" name="url" size="50"></TD>

</TR>



<TR align="left">

<TD>画像ファイル</TD>

<TD><INPUT type="file" name="upfile" size="40"></TD>

</TR>



<TR align="left">

<TD></TD>

<TD><FONT size="-2">

アップロード可能な画像ファイルは JPEG(.jpg)、GIF(.gif)、PNG(.png) です。</FONT></TD>

</TR>



<TR>

<TD colspan="2">

本文<FONT size="-2">(必須、入力通り記録しますので適当に改行を入れてください、タグは使用できません)</FONT><BR>

<TEXTAREA name="body" rows="5" cols="60">

</TEXTAREA>

</TD>

</TR>



<TR>

<TD align="center" colspan="2"><INPUT type="submit" value="投稿"></TD>

</TR>



</TABLE>



</FORM>

<BR>

<BR>



<TABLE width="600" cellpadding="3">

<TR>

<TD>

<FONT size="-1">

新規投稿順、1ページ <?php echo $page_max ?> 件表示、最大 <?php echo $data_max ?> 件保存

</FONT></TD>

</TR>

<TR>

<TD><HR></TD>

</TR>

<TR>

<TD>



<?php

// ライブラリファイル呼び出し

include($lib_file);



// データファイルの読み書き可否判定

if(!is_readable($data_file) || !is_writeable($data_file)){

  echo "<FONT color="red">FILE ERROR</FONT>n";

  echo "</TD></TR></TABLE>n";

  echo "</DIV></BODY></HTML>n";

  exit;

}



// メッセージ投稿処理

if ($set == "post"){



  // 必須項目チェック(名前、本文)

  if(empty($name) || empty($body)){



   // エラー表示処理

   echo "<TABLE width="100%"><TR><TD colspan="2"><FONT color="red">名前、もしくは本文が未入力です。<BR>n";

   echo "ブラウザのバックボタンで戻り正しく入力して下さい。</FONT></TD></TR>n";

   echo "<TR><TD colspan="2"><HR></TD></TR></TABLE>n";



  } else {



   // ファイルアップロード処理

   if ($upfile != "none"){



    // ファイルの拡張子を取得

    $ext = substr($upfile_name,-3);



    // 拡張子を小文字へ変換

    $ext = strtolower($ext);





    // 拡張子を判別  "jpg"・"gif"・"png"時のみアップロード

    if($ext == "jpg" || $ext == "gif" || $ext == "png"){





     // コピーするファイル名を生成

     $copy_name  = tempnam($img_dir,"img");



     // 生成した空のファイルを削除

     if (file_exists($copy_name)){

      unlink($copy_name);

     }



     // 生成したファイル名に拡張子を添付

     $copy_name .= "." . $ext;



     // アップロードされたファイルが正しいものか判定

     if(is_uploaded_file($upfile)) {



      // 正しければファイルのコピーを行う

      copy($upfile, $copy_name);



     } else {



      // 異常があればエラー表示

      echo "<TABLE width="100%"><TR><TD colspan="2"><FONT color="red">ファイル $upfile_name はアップロードできません。<BR>n";

      echo "ブラウザのバックボタンで戻り正しく入力して下さい。</FONT></TD></TR>n";

      echo "<TR><TD colspan="2"><HR></TD></TR></TABLE>n";



     }



    } else {



    // エラー表示処理

    echo "<TABLE width="100%"><TR><TD colspan="2"><FONT color="red">ファイル $upfile_name はアップロードできません。<BR>n";

    echo "アップロード可能なファイルはJPEG(.jpg)、GIF(.gif)、PNG(.png)です。<BR>n";

    echo "ブラウザのバックボタンで戻り正しく入力して下さい。</FONT></TD></TR>n";

    echo "<TR><TD colspan="2"><HR></TD></TR></TABLE>n";



    }

   }



   // データファイルを1行ずつ配列として読み込み

   $data_all = file($data_file);



   // 投稿の各項目を整形

   $name  = text_replace($name);

   $email = text_replace($email);

   $url   = text_replace($url);

   $body  = text_replace($body);



   // 投稿日時を取得

   $datetime = date("Y/m/d G:i:s");



   // 投稿内容をデータとして整形

   $data_new = "$datetime,$name,$email,$url,$body,$copy_name,$REMOTE_HOSTn";



   // データファイルに書き込み

   $fp = fopen($data_file,"w");

   flock($fp,2);



   // 投稿データをファイルへ書き込み

   fwrite($fp,$data_new);



   // 元々のデータをファイルへ書き込み

   // 最大データ保存件数 $data_max 件まで

   for($i = 0 ; $i < $data_max ; $i++){

    fwrite($fp,$data_all[$i]);

   }



   flock($fp,3);

   fclose($fp);



   // 変数を開放

   unset($data_all);

  }

}





// データ表示処理

// $data_no が無ければ 0 をセット

if (empty($data_no)){

  $data_no = 0;

}



// データファイルを1行ずつ配列として読み込み

$data_all = file($data_file);



// データを HTML 表示用に処理

// 1ページのデータ表示件数 $page_max まで

for($i = 0 ; $i < $page_max ; $i++ , $data_no++){

  if(!empty($data_all[$data_no])){

   // データを以下の配列として取得

   // $data_array[0] - 日時

   // $data_array[1] - 名前

   // $data_array[2] - メールアドレス

   // $data_array[3] - URL

   // $data_array[4] - 本文

   // $data_array[5] - 画像ファイル

   // $data_array[6] - リモートホスト(使用しません)

   $data_array = explode(",",$data_all[$data_no]);



   // HTML 表示

   echo "<TABLE width="100%" cellpadding="3">n";

   echo "<TR>n";

   echo "<TD width="30%"><FONT size="-1">" . $data_array[0] . "</FONT></TD>n";

   echo "<TD width="70%"><FONT size="-1">メール : <A href="mailto:" . $data_array[2] ."">" . $data_array[2] . "</A></FONT></TD>n";

   echo "</TR>n";

   echo "<TR>n";

   echo "<TD width="30%"><FONT size="+1">" . $data_array[1] . "</FONT></TD>n";

   echo "<TD width="70%"><FONT size="-1">URL : <A href="" . $data_array[3] ."" target="_blank">" . $data_array[3] . "</A></FONT></TD>n" ;

   echo "</TR>n";

   echo "<TR>n";

   echo "<TD colspan="2">" . $data_array[4] . "</TD>n";

   echo "</TR>n";



   // 画像ファイルの表示

   if (!empty($data_array[5])){

    echo "<TR>n";

    echo "<TD colspan="2"><IMG src="" . $data_array[5] . ""></TD>n";

    echo "</TR>n";

   }



   echo "<TR>n";

   echo "<TD colspan="2"><HR></TD>n";

   echo "</TR>n";

   echo "</TABLE>n";

  }

}



  // 改ページ処理

if($data_no < count($data_all)){

  echo "<TABLE width="100%">n";

  echo "<TR align="right">n";

  echo "<TD><FORM method="post" action="" . $PHP_SELF . "">n";

  echo "<INPUT TYPE="hidden" name="data_no" value="" . $data_no . "">n";

  echo "<INPUT TYPE="submit" value="次のページへ">n";

  echo "</FORM>n";

  echo "</TD>n";

  echo "</TR>n";

  echo "</TABLE>n";

}

?>



</TD>

</TR>

</TABLE>

</DIV>

</BODY>

</HTML>

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
데카스타일! 이 홈페이지의 배경 효과를 내려면.... [1] 2007.08.10
Asurada 절대경로나 상대경로에서 변수 전달법? [1] 2007.08.10
박성철 httpd가 start하면 갑자기 FAILD라면서...  
뽀뽀팅이 데이콤 보라홈넷 케이블 사용하시는 분 계시나요? [1] 2007.08.10
튀는아이 검색기능을 만드는데요. [3] 2007.08.10
이경신 메뉴 누르면 메뉴앞에 그림 나타나게 하고 싶은데..  
Asurada PHP 구문 질문... [2] 2007.08.10
수현ⓥ 마우스로 클릭하면 사라지는 내용.. [1] 2007.08.10
이범윤 롤오버 오류 문제 ~~ 아시는분 해결좀 부탁 드립니다.. [4] 2007.08.10
가인 이 그림 효과에 대한 질문입니당 [1] 2007.08.10
튀는아이 MSN상태표시하는 걸 넣으니까 이런 오류 메세지가.. [3] 2007.08.10
이성헌 이 에러 로그에 대해  
이성헌 apache user 문제 php 와 관계..  
하늘보고 카운터를 만드는데 구현을 못하는 부분이 있습니다. [1] 2007.08.10
새우깡 sql 뭐시기 하다던데.. 좀 알려주세요.. [5] 2007.08.10
Шıса 마퀴 응용에 대한 질문입니다.. [1] 2007.08.10
고영진 [질문]노프레임에서 메뉴 클릭하면 가운데에 게시판 나오게하기.. [3] 2007.08.10
@_@행복* 이런거 어떻게 만들죠?? [1] 2007.08.10
김동민 경고문이 뜨는데... [3] 2007.08.10
박찬수 첫화면의 php화일명은???(초보라서.....) [2] 2007.08.10
박성철 is_uploaded_file($upfile) 이 안되는 이유..소스도 붙입니다. [2] 2007.08.10
김주식 셀 테두리가 안보여요. [1] 2007.08.10
HHH 일러할때..피부색은 어떻게~ [1] 2007.08.10
띠엠므 플래시 버튼 마우스 올려놓을 때 춤추는 문제 ? [1] 2007.08.10
물탱이 롤오버 이미지를 문서상단에 미리 로딩해두기.. [2] 2007.08.10
슈퍼왕뚜껑 문자열에서 n번째 문자를 엑세스 하려고 하는데.. [1] 2007.08.10
김한슬 플래쉬 삽입 관련 질문쩜.. [1] 2007.08.10
새우깡 전용선의 관한 질문을.^^; [4] 2007.08.10
covingtoN iframe 내에서는 사용자정의 마우스커서가 소용이 없네요 [2] 2007.08.10
박우진 포토샵에서 작업한것 저장할떄 .. [1] 2007.08.10