2017-04-30 23 views
0

登録フォームを持っていて、あるユーザーがそこに登録したユーザーIDのファイルを作成したい場合は、そのユーザーIDに名前を変更したコードでindex.phpを作成しますメインサイト。登録時にIDに基づいてフォルダを作成する

私が作成するフォルダを必要とする場所は、私が午前問題は、それがフォルダを作成することを拒否され、これはそこに画像やもののためになりますexample.com/uploads ..

です。中に、

$dir = $last_row; 

function create_user($email, $full_name, $job_title, $password){ 

     if (email_exists($email)) { 
      return false; 
     } else {   

       $hashed_password = password_hash($password, PASSWORD_BCRYPT); 

       $db = dbconnect(); 
       $stmt = $db->prepare('INSERT INTO users(Email, FullName, JobTitle, Bio, Password, ValidationCode, Active) VALUES (?,?,?,?,?,?,?)'); 
       $stmt->bind_param('sssssss', $email, $full_name, $job_title, $bio, $hashed_password, $validation_code, $active); 
       $stmt->execute(); 
       $last_row = $stmt->insert_id; 
       $stmt->close(); 



      $MainFolder ="uploads"; 
     $dir = $stmt->insert_id;    


     $file_to_write = 'index.php';   

     if(is_dir($dir) === false){ 
      mkdir($dir); 
     } 
     $file = fopen($MainFolder.'/'. $dir . '/' . $file_to_write,"w"); 

     // write content into 
     fwrite($file,"<?php header('location: http://example.com');");          

       return true; 
      } 
    } 
+0

あなたのウェブサーバは 'uploads'フォルダに書き込み可能ですか? – rickdenhaan

+1

$ last_rowが定義されていない場合は、最後のIDを取得してください。詳細については、http://php.net/manual/en/pdo.lastinsertid.phpを参照してください。 –

+0

はい、基本的にexample.com/uploads/ユーザーIDが必要ですが、私はlast_rowの権利を得ているのか分かりません – Case

答えて

1
があなたの現在のコードを変更し

$dir = $stmt->insert_id; 

その後、あなたは結果を取得していることを確認し、その値をエコー。 error_reportingを有効にするか、エラーログを確認してエラーを確認してください。

関連する問題