繁体   English   中英

如何将php变量传递到Windows批处理文件

[英]how to Pass php variables to a windows batch file

我想通过将一些值从php传递到批处理文件来通过php执行我的批处理文件。批处理文件的目的是将csvs文件导出到ftp。通过命令行它可以正常工作,但不适用于php.given下面是我的批处理和php文件

test.bat的

@echo off
set ftp_domain=%1
echo FTP Domain to Connect to %ftp_domain%
set ftp_username=%2
echo FTP User Name %ftp_username%
set ftp_password=%3
echo FTP Password %ftp_password%
set data_folder=%4
echo Folder to upload Files from %data_folder%
del ftpscript.txt
echo open %ftp_domain%>>ftpscript.txt
echo %ftp_username%>>ftpscript.txt
echo %ftp_password%>>ftpscript.txt
echo !:--- LOGGED INTO FTP --- >>ftpscript.txt
echo pwd >>ftpscript.txt
echo !:--- CHANGE DIRECTORY TO MAGENTO-CONNECTOR FOLDER --->>ftpscript.txt
echo cd Magento-Connector>>ftpscript.txt
echo !:--- CHANGE DIRECTORY TO DATA FOLDER --->>ftpscript.txt
echo cd data>>ftpscript.txt
echo !:--- SET LOCAL DATA DIRECTORY FOR FILE UPLOAD --->>ftpscript.txt
echo lcd %data_folder%>>ftpscript.txt
echo !:--- SET FILE TRANSFER MODE TO BINARY --->>ftpscript.txt
echo binary>>ftpscript.txt
echo !:--- RECURSIVELY UPLOAD FILES --->>ftpscript.txt
echo mput "*.csv">>ftpscript.txt
echo !:--- LIST OF FILES UPLOADED INTO FTP --->>ftpscript.txt
echo dir>>ftpscript.txt
echo !:--- DISCONNECT --->>ftpscript.txt
echo disconnect>>ftpscript.txt
echo !:--- EXIT FTP --->>ftpscript.txt
echo bye>>ftpscript.txt
echo Start Login to FTP Server
ftp -i -s:ftpscript.txt
echo Delete FTP SCRIPT FILE
del ftpscript.txt
echo End of Operation....exiting....

php文件

<?php
$var1 = "domain.com"; //this is domain
$var2 = "username";   //this is username
$var3 = "password";    //this is username
$var4 = "C:\myCSV_FolderPath";
$bat_file = "test.bat".escapeshellarg($var1)." ".escapeshellarg($var2)." ".escapeshellarg($var3)." ".escapeshellarg($var4);
$output = null;
exec($bat_file, $output);
?>

当我运行我的php文件时,它不会给出任何结果,我的csv文件也不会传输到ftp。

我认为您只是在第一个变量之前缺少空格:

$bat_file = "test.bat ".escapeshellarg($var1)." ".escapeshellarg($var2)." ".escapeshellarg($var3)." ".escapeshellarg($var4);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM