Я написал код PHP, который должен записываться в каталоге на сервере. В каталоге установлены разрешения для всех как «Полный контроль» .
Я использую IIS Express в Windows 10 .
Если я использую локальный путь, скрипт работает правильно, но если я установил сетевой путь \ 192.168.1.1, отладка возвращает «Unable to open file». С помощью исполняемой программы я могу написать по этому пути (\\ 192.168.1.124 \ BusinessDir \ Asc \ out2).
У вас есть предложения по решению этой проблемы? Нужно ли мне менять метод запуска IIS или PHP?
Я пытался запустить php.exe, iiexpress.exe от имени администратора, но ничего не изменилось.
Большое спасибо за вашу помощь.
Это код, который я использую.
<?php
define("PROJECT_DIRECTORY", "C:\\xx");
define("SHEET_CSV", "C:\\Users\\User\\Desktop\\outtest\\OUT");
define("SHEET_CSV_COPY", "\\\\192.168.1.124\\BusinessDir\\Asc\\out2\\OUT");
function create_sheets_csv($projectName) {
$projectPath = PROJECT_DIRECTORY . "\\" . $projectName . "\\" . $projectName . ".rpd";
$xml = simplexml_load_file($projectPath);
//var_dump($xml->Nests);
$year = date("Y");
/*$path = SHEET_CSV . $year . $projectName . ".csv";*/
$pathCopy = SHEET_CSV_COPY . $year . $projectName . ".csv";
echo $pathCopy;
$myfile = fopen($pathCopy, "w") or die("Unable to open file!");
foreach ($xml->Nests->Nest as $Nest) {
$SheetUsed = $Nest->SheetUsed->Used;
$Thickness = $Nest->SheetUsed->Thickness;
$SheetX = $Nest->SheetUsed->SheetX;
$SheetY = $Nest->SheetUsed->SheetY;
$Thickness = floatval($Thickness) * 10;
$CodiceArticolo = "L$Thickness/10-$SheetX" . "X" . "$SheetY" . "D";
$txt = $CodiceArticolo . ";" . "NR" . ";" . $SheetUsed . "\n";
fwrite($myfile, $txt);
}
fclose($myfile);
//copy($path, $pathCopy) or die("Impossibile copiare");
}
?>
С уважением,
Leonardo