У меня есть код для загрузки CSV файлов в PHP. Он работает правильно. Я хочу, чтобы пользователь загружал документ или тип изображения, чтобы отображать предупреждение или сообщение об ошибке. Вот мой код:
<?php
include_once 'db.php';
if(isset($_POST['submit'])){
if($_FILES['csv_data']['name']){
$arrFileName = explode('.',$_FILES['csv_data']['name']);
if($arrFileName[1] == 'csv'){
$handle = fopen($_FILES['csv_data']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$item1 = mysqli_real_escape_string($dbConnection,$data[0]);
$item2 = mysqli_real_escape_string($dbConnection,$data[1]);
$import="INSERT into tbl_csv values('','$item1','$item2')";
mysqli_query($dbConnection,$import);
}
fclose($handle);
print "Import done";
}
}else{
echo "only Excel";
}
}
?>
<html>
<head>
<title>Upload CSV and Insert into Database Using PHP</title>
<head>
<body>
<form method='POST' enctype='multipart/form-data'>
Upload CSV: <input type='file' name='csv_data' /> <input type='submit' name='submit' value='import' />
</form>
</body>
</html>
Как это сделать?
вы можете использовать
if(pathinfo( $_FILES['csv_data']['name'],PATHINFO_EXTENSION) =='csv')
или
if ($_FILES['csv_data']['type'] == 'text/csv')
Вот ваш php-код
if (isset($_POST['submit'])) {
if (!empty($_FILES['csv_data']['name'])) {
if(pathinfo( $_FILES['csv_data']['name'],PATHINFO_EXTENSION) =='csv') {
$handle = fopen($_FILES['csv_data']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$item1 = mysqli_real_escape_string($dbConnection, $data[0]);
$item2 = mysqli_real_escape_string($dbConnection, $data[1]);
$import = "INSERT into tbl_csv values('','$item1','$item2')";
mysqli_query($dbConnection, $import);
}
fclose($handle);
print "Import done";
}
else{
echo "only csv file allowed";
}
} else {
echo "Please select file";
}
}
if($_FILES['csv_data']['name'])
использовать указанное выше условие
Обновить:
csv_file_upload.php:
<?php
if(isset($_POST['submit'])){
if(isset($_FILES['csv_data']['tmp_name'])){
$file_ext = end( (explode('.',$_FILES['csv_data']['name']) ));
if($file_ext == 'csv' || $file_ext == 'CSV'){
echo 'CSV file uploaded!';
}
else {
echo 'ERROR: No CSV file uploaded!';
}
}
}
?>
<html>
<head>
<title>Upload CSV and Insert into Database Using PHP</title>
<head>
<body>
<form method='POST' action="csv_file_upload.php" enctype='multipart/form-data'>
Upload CSV: <input type='file' name='csv_data' /> <input type='submit' name='submit' value='import' />
</form>
</body>
</html>
}