2017-03-01 9 views
0

私のアプリケーションでは、ログインしたときにprivate/119のように1つのフォルダが作成されます。コードは、PHPでフォルダを作成するには?

if (!is_dir('private/'.$q->row()->userId)) { 
    $oldmask = umask(0); 
    $q=mkdir('private/' .$q->row()->userId,0777,true); 
    umask($oldmask); 
    copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png'); 
} 

です。このuserId(119)フォルダ内にもう1つのフォルダを作成します。どうやってするか?私はそのようなものを試しました$q=mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,true);しかし、それは動作していません。

次のコードは正しいですか?親ディレクトリならば、あなたのコードdirecoty beforeconvertによる

if (!is_dir('private/'.$q->row()->userId) && !is_dir('private/'.$q->row()->userId .'/beforeconvert')) { 
    $oldmask = umask(0); 
    $q=mkdir('private/' .$q->row()->userId,0777,true); 
    $create_folder = mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,TRUE); 
    umask($oldmask); 
    copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png'); 
} 
+2

_ _ "それが動作しない" に拡大してください。何が起こるのですか?エラーメッセージはありますか?エラーログを確認しましたか? –

+2

'$ q = mkdir'を' mkdir'に編集します – Kazz

+0

"それは動作しません"とはフォルダが作成されていないことを意味します。 – Kevin

答えて

1

が作成されません。$q->row()->userIdは既に存在しています。

また、最初の親ディレクトリと子を作成する必要はありません。 mkdirで子ディレクトリを直接作成することもできます。親ディレクトリも作成します。以下のように

変更あなたのコードは:

<?php 
if (!is_dir('private/'.$q->row()->userId .'/beforeconvert')) { 
    $oldmask = umask(0);  
    $create_folder = mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,TRUE); 
    umask($oldmask); 
    copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png'); 
} 
関連する問題