PHPでファイルアップロードシステムがどのように機能するかを理解しようとしています。私のコードは次のとおりです。
if(isset($_FILES['profile_pic'])){
$allowed_ext= array('jpg','jpeg','png','gif');
$file_name = $_FILES['profile_pic']['name'];
$file_ext = strtolower(end (explode('.',$file_name)));
$file_size = $_FILES['profile_pic']['size'];
$file_tmp = $_FILES['profile_pic']['tmp_name'];
if(in_array($file_ext, $allowed_ext) === false || $file_size > 2000000){
$display_block = 'display:block !important';
$pic_errors ='<p>* File format JPG, JPEG, GIF or PNG</p> <p>* Smaller 1Mb</p>';
} else {
move_uploaded_file($file_tmp, '/members/');
echo 'uploaded..';
}
}//if(isset($_FILES['profile_pic']))
権限があれば、すべてがうまくいくようです。
私が得るエラーは次のとおりです。
警告:move_uploaded_file(/ members /)[function.move-uploaded-file]:ストリームを開くことができませんでした:/home/a6671212/public_html/settings.phpの116行目のディレクトリです
このエラーを修正するにはどうすればよいですか?
みんなありがとう..
私が理解したように、私には2つの問題がありました。
@Prisonerが書いたように..move_uploaded_file($ file_tmp、'/ members /'); --私は/members/の後にファイル名を書きませんでした
@Ketan Patelが書いたように、
私がそう言うかもしれないなら、関数は別のフォーマットに変更されるべきです。
move_uploaded_file($ file_tmp、 "/ members / $ file_name"); -二重引用符...
機能した!!!!!!!!ありがとうございます!!!