[PHP-users 11989] Re: ローカルとサーバー上での動作の違いを教えてください。

鮫川 将人 php-users@php.gr.jp
Wed, 4 Dec 2002 23:16:12 +0900


こんばんは。鮫川@アシェットと申します。

下記は、
> Warning: mkdir() failed (Permission denied) in
> /home/cyamicom/public_html/php/insert.php on line 63
が示すとおり、最初にディレクトリを作成する時点で権限がなく失敗しているので
す。

その後のいくつかのエラーメッセージは、ディレクトリが作成できないことによって
必然的に出てくるものです。

操作されたいディレクトリのパーミッションを確認されるとよろしいかと思います。

ご参考になれば幸いです。

----- Original Message -----
From: "atsushi" <namioh@sea.plala.or.jp>
To: <php-users@php.gr.jp>
Sent: Wednesday, December 04, 2002 10:55 PM
Subject: [PHP-users 11988] ローカルとサーバー上での動作の違いを教えてくださ
い。


> PHP初心者です。申し訳ありませんが、つまずいてしまいご質問させてください。
>
> 現在ユーザー登録し、登録時にそのユーザー名でディレクトリを作成し、そのディ
レ
> クトリ内にimgディレクトリとtempディレクトリとindex.htmlを作成するシステム
を
> 作っています。
>
> 下記のソースでローカルでは正常に動いていたのですが、サーバーにアップしたあ
> と。
> エラーが発生するようになってしまい、原因がわかりません。
>
> アドバイスしてもらえると嬉しいです。
>
> ・・省略
>
> //index.html<META>のリンク先
> $url="<? echo $HOSTURL;  ?>php/kihon.php?uid=$uid";
>
> //ディレクトリ名
> $dir="../gunma/$_POST[uid]";
>
> //IMGディレクトリ名
> $dirimg="../gunma/$_POST[uid]/img";
>
> //TEMPディレクトリ名
> $dirtemp="../gunma/$_POST[uid]/temp";
>
> //コピーもとファイル名
> $fname="../temp/index.html";
>
> //コピー先ファイル名
> $fname_to="../gunma/$_POST[uid]/index.html";
>
>
> mysql_connect($host,$sqluid,$sqlpass);
> mysql_select_db($sqlDB);
>
>
> $sql="select * from hotel_t where pass='$pass'";
>
> $reslut=mysql_query("$sql");
> $res=mysql_fetch_array($reslut);
> $rows=mysql_num_rows($reslut);
>
> if($rows>=1){
>
> err("そのパスワードはすでに使用されています。");
>
> }
>
>
> if(is_dir("../gunma/{$uid}")){
>
> err("入力したユーザーIDはすでに使用されています。");
>
> }
>
>
>
>
> mysql_connect($host,$sqluid,$sqlpass);
> mysql_select_db($sqlDB);
>
>
>
> if(@$_POST["new"]){
>
>
> $res=mysql_query("insert into hotel_T(uid,pass,ado_ken,ado_city,name)
> values('$uid', '$pass', '$ado_ken', '$ado_city', '$name')");
>
> $rc=mkdir($dir,0777);
>
> mkdir($dirimg,0777);
>
> mkdir($dirtemp,0777);
>
> copy($fname,$fname_to);
>
> $file=fopen($fname_to,"w") or die("OPENエラー,$fname_to");
>
> $string="<meta http-equiv=refresh content=0;URL=$url>";
>
> fputs($file,$string);
>
> flock($file,LOCK_UN);
>
> fclose($file);
>
>
>
> if($rc){
>
> echo "ディレクトリ",@$_POST[uid],"を作成しました。";
>
>        }
>
> else{
>
> echo "ディレクトリ作成失敗";
>
>     }
>
>                   }
>
> elseif(@$_POST["del"]){
>
> $row=mysql_query("delete from hotel_T where uid='$uid'");
>
> if(!$row){
>
> echo "失敗";
>
>          }
>
>                       }
>
>
>
> ?>
>
>
> ↓エラーメッセージ↓
>
>
> Warning: mkdir() failed (Permission denied) in
> /home/cyamicom/public_html/php/insert.php on line 63
>
> Warning: mkdir() failed (No such file or directory) in
> /home/cyamicom/public_html/php/insert.php on line 65
>
> Warning: mkdir() failed (No such file or directory) in
> /home/cyamicom/public_html/php/insert.php on line 67
>
> Warning: Unable to create '../gunma/ssssssss/index.html': No such file or
> directory in /home/cyamicom/public_html/php/insert.php on line 69
>
> Warning: fopen("../gunma/ssssssss/index.html", "w") - No such file or
> directory in /home/cyamicom/public_html/php/insert.php on line 71
> OPENエラー,../gunma/ssssssss/index.html
>
>
>
>
>
>