php アップロードファイルが*.csv指定の問題
<form name="csvupload" id="csvupload" action="csvread.php" method="post" enctype="multipart/form-data" >
<input type="hidden" name="MAX_FILE_SIZE" value="30000" /><br />
csvfile:<input type="file" name="uploadfile" size="50" accept="text/comma-separated-values" />
<input type="submit" name="hyosi" value="ファイル表示" /><br />
</form>
htmlからファイルが選択して、php言語でそのファイルが*.csv拡張子で指定して、アップロードする。以下わたし作ったのサンプルで*.exeだとうまくいかなかった。初心者です。急ぎです。誰か助けてください。
if(isset($_POST['hyosi'])){
$file_dir = 'C:\apaches\Apache2\htdocs\practice\csvupload\csvfile\\';
$file_path = $file_dir.$_FILES['uploadfile']['name'];
if(!is_uploaded_file($_FILES['uploadfile']['tmp_name'])){
print'*.csvhh拡張子のファイルを参照してください。';
exit;
}
elseif(strtoupper(substr(trim($_FILES['uploadfile']['name']),-4))!=".CSV"){
print'*.csv拡張子のファイルを参照してください。';
exit;
}
elseif(strtoupper(substr(trim($_FILES['uploadfile']['name']),-3))=="EXE"){
print'*.csvrrr拡張子のファイルを参照してください。';
exit;
/* elseif(preg_match("/^.*\.(?!csv)$/",$_FILES['uploadfile']['name'])){
print'*.csv拡張子のファイルを参照してください。';
exit;
*/
}
elseif($_FILES['uploadfile']['name'] == '' && $_FILES['uploadfile']['size'] == 0){
print'ngngng';
exit;
}
else{
if(move_uploaded_file($_FILES['uploadfile']['tmp_name'],$file_path)){
$csv_dir = "./csvfile/";
$csv_path = $csv_dir.$_FILES['uploadfile']['name'];
$sfile = addslashes($csv_path);
$_SESSION['file'] =$sfile;
$file=fopen($sfile ,'r');
}else{
print '正常にアップロード処理されませんでした。';
exit;
}
}
}