Windows Server上で動作するphpで、phpspreadsheetを動かそうとしています。
何とかインストールを終え、同じフォルダ内のExcelの内容を取得するところまでは出来ました。
しかし、別のWindowsServerのネットワーク越しのパスを指定したところ、動作しません。
ファイル名が日本語のせいかと思い、下記のように英文字にしてみたのですが、結果は同じでした。
下記のように、UNC名(\サーバー名\共有名\サブフォルダ名\ファイル名)で書いているつもりなのですが、通りません。画面上はエラーも返ってきません。
実行は、タスクスケジューラで行いたいので、
php test.php
のように、コマンドラインで管理者アカウントで実行しています。
対象フォルダも管理者のアクセス権は付いています。
php
1<?php 2require '../../php/vendor/autoload.php'; 3use PhpOffice\PhpSpreadsheet\Settings; 4use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader; 5use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter; 6use PhpOffice\PhpSpreadsheet\Writer\CSV as CSVWriter; 7 8// ExcelBookを開く 9$reader = new XlsxReader(); 10// $spreadsheet = $reader->load('catch01.xlsx'); // OK 11$spreadsheet = $reader->load('\\mitsunari\joho\test\catch01.xlsx'); 12$sheet = $spreadsheet->getSheet(0); 13$yy = $sheet->getCell('B2')->getValue(); 14$mm = $sheet->getCell('F2')->getValue(); 15$sonm = $sheet->getCell('M2')->getValue(); 16$sonm = mb_convert_encoding($sonm, "SJIS", "UTF-8"); 17print $yy.'/'.$mm.':'.$sonm; 18 19?>
別の処理で、
$basepath = '\mitsuhide\joho\test';
$dir = new DirectoryIterator($basepath);
のようにUNC名は通ったのですが、
そもそもphpspreadsheetはこうした使い方は対応していないのでしょうか?
回答1件
あなたの回答
tips
プレビュー