묻고답하기

잘~~되다가 갑자기 그럽니다. 대체 이유가 뭔지 모르겠내요.. 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 남기남
putty XE에서 XE로 데이터이전시 첨부파일 가져오는 방법 없나요? [2] 2014.12.19 by putty
zeneger [도움요청] 게시판 리스트 컬럼을 확장해서 볼수있는 방법?  
빵빵푸우 알림센터가 사용중 오류가 나요. [2] 2014.12.19 by 빵빵푸우
마야937 신디케이션 문의 합니다. [6] file 2014.12.19 by 몽실아빠
zetix 게시판 사용자정의 검색문제 [8] file 2014.12.19 by GREATGUY
아거월드 글쓰기에서 사용자정의 여러개설정할 때 질문드립니다. [3] 2014.12.19 by GREATGUY
Ruinavan 사용자 정의 사용시 필드 사이즈 조정 문의 [1] file 2014.12.19 by GREATGUY
putty XE 버전업 할떄 보통 어떤방식으로 하시나요? [11] 2014.12.19 by putty
투빈 관리자 접속관련 [1] 2014.12.19 by AJKJ
가을풍경 xe files 폴더 저장위치를 나스로 변경하고 싶습니다. [2] 2014.12.19 by AJKJ
쫑효다컴 메인페이지 welcome contents 사용시 슬라이더 사이여백을 없애려면 어 [2] 2014.12.19 by 쫑효다컴
그곳에서 슬라이드와 위젯, 문서 페이지 충돌 [2] 2014.12.19 by 그곳에서
보미언닝 모듈 문의좀드립니다 [4] file 2014.12.19 by 보미언닝
tui 레이아웃 검색창 검색질문 드립니다. [2] file 2014.12.19 by tui
파이란1 통합검색 모바일스킨 에러 [1] 2014.12.19 by 닉이
입문자 첨부파일 이미지파일 숨기는법좀 알려주세요 [2] 2014.12.19 by 입문자
Ricardo URL통해서 자동으로 로그인하는 방법 문의드립니다. [5] 2014.12.19 by AJKJ
마야인 데이터 이전시에 원격지 파일을 열지 못하도록 되어 있다고... [8] file 2014.12.19 by 언제나즐기자
가시밭 1.5xe 버전 데이터 -> 1.7xe 에 옮기려고합니다. [2] 2014.12.18 by 가시밭
도라에몽x몽에라도 이 모바일 레이아웃 뭔가요? [5] file 2014.12.18 by Canto