Я использую машину Windows.
Я хочу запустить php-файл, который находится на W-Drive (сетевой диск), а мой bat-файл находится на рабочем столе.
Я не понимаю, почему, но почему-то не выполняется мой php-файл.
Мой код выглядит так
@echo call to php script
@echo OFF
"D:\xampp\php\php" W:\Automation\Task\csv-file\delete-special-chars.php %*
timeout /t 60
pause
Также не отображаются ошибки
Взял ссылку от как запустить скрипт php из командного файла
Любое предложение, где я иду не так?
Спасибо
Также, когда я запускаю скрипт php, который удаляет специальные символы из браузера, я сначала получаю эту ошибку
Notice: iconv(): Detected an incomplete multibyte character in input string in /opt/lampp/htdocs/Wdrive/Automation/Task/csv-file/delete-special-chars.php on line 17
и затем, если я обновлю его снова, он будет выполнен без ошибок.
Мой php scipt выглядит так
<?php
foreach (glob("*.csv") as $file)
{
$contents = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$csvRows = array_map('str_getcsv', $contents);
$output_array = array();
foreach($csvRows as $row)
{
// echo $row[0] . "\n"; // Will output data contained in the first column
$input = $row[0]; // original text
$output = iconv("utf-8", "ascii//TRANSLIT//IGNORE", $input);
$output_array[] = preg_replace("/^'|[^A-Za-z0-9\s-]|'$/", '', $output); // lets remove utf-8 special characters except blank spaces
// echo $output; // Results in: Foo Bar Zacarias ASABAD Ferreira
}
file_put_contents($file, implode("\n", $output_array));
}
?>
Пожалуйста, предложите мне, где я иду не так
@echo call to php script to delete all the special characters
@echo OFF
W:
cd Automation\Task\csv-file
start "Start PHP" "D:\xampp\php\php.exe" -f delete-special-chars.php %*
Я думаю, что вы забыли расширение .exe
Так что измените это на это:
"D:\xampp\php\php.exe"
В противном случае попробуйте это:
start "Start PHP" "D:\xampp\php\php.exe" -f delete-special-chars.php
РЕДАКТИРОВАТЬ:
Если вы хотите что-то изменить в file
php
Сценарий get выполняется из batch
файл location
так что вы должны cd
к php
скрипт такой:
cd W:\Automation\Task\csv-file
Итак, с этим ваш php-скрипт выполняется из местоположения php-скрипта