3
xlsxファイルから私のデータベースにデータをインポートしたいのですが、私はphpexcelライブラリを使ってxlsまたはxlsxファイルをcsvに変換してからデータを読み込みました。 このコードは、xlsファイルをローカルホストとサーバの両方でcsvに変換するために正しく動作していますが、xlsxからcsvへの変換はローカルホストでのみ行われます。ここ は私のコードです:xlsxからcsvへの変換はサーバー上では機能しません
function convertXLStoCSV($infile,$outfile)
{
$fileType = PHPExcel_IOFactory::identify($infile);
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($infile);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->save($outfile);
}
と使用してこの関数を呼び出す:
if($ext == 'xls' or $ext == 'xlsx')
{
$new_doc_name = time() . "." .$ext;
$target_path = "../../uploaded_files/";
$target_path = $target_path . $new_doc_name ;
if ($_FILES["CSV_file"]["type"] == "application/xls" or $_FILES["CSV_file"]["type"] == "application/xlsx" or $_FILES["CSV_file"]["type"] == "application/vnd.ms-excel" or $_FILES["CSV_file"]["type"] == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"){
if(move_uploaded_file($_FILES['CSV_file']['tmp_name'], $target_path)) {
convertXLStoCSV($target_path,'output.csv');
if(($handle = fopen("output.csv" , "r")) !== FALSE)
を
を試してみてくださいので、サーバーのログを確認して助けてください。サーバー上のPHPのバージョンが、localhost上で実行しているバージョンと一致していることを確認してください。必要なすべての拡張子があります。 –