Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在带有FTP的linux服务器中使用mkdir中的数据变量?_Php_Linux_Ftp_Mkdir - Fatal编程技术网

Php 如何在带有FTP的linux服务器中使用mkdir中的数据变量?

Php 如何在带有FTP的linux服务器中使用mkdir中的数据变量?,php,linux,ftp,mkdir,Php,Linux,Ftp,Mkdir,我需要在我的FTP服务器中创建一个名为“YYYY-MM-DD”的文件夹;我有一个变量: slideshow=$(date +"%Y-%m-%d") 但是我不能在FTP和mkdir中使用它,因为它是一个shell变量 我也尝试过echo,它也可以工作(我有一个sh文件中的“mkdir 2015-05-25”),但是如果我有一系列必须运行的命令,只需要第一个ftp-n ftp.xxxx.it。已运行,其余的(用户、密码)未运行 我希望你能帮助我 谢谢此脚本似乎与此主题类似 但是你可以通过在你的电脑

我需要在我的FTP服务器中创建一个名为“YYYY-MM-DD”的文件夹;我有一个变量:

slideshow=$(date +"%Y-%m-%d")
但是我不能在FTP和mkdir中使用它,因为它是一个shell变量

我也尝试过echo,它也可以工作(我有一个sh文件中的“mkdir 2015-05-25”),但是如果我有一系列必须运行的命令,只需要第一个ftp-n ftp.xxxx.it。已运行,其余的(用户、密码)未运行

我希望你能帮助我


谢谢

此脚本似乎与此主题类似

但是你可以通过在你的电脑上创建一个新的目录,然后通过这个简单的脚本将它上传到你的服务器上

#!/bin/bash
您的服务器凭据

ftp_server='******' 
ftp_username='******' 
ftp_password='******'  
日期为年的新文件夹,包含月份和日期

slideshow="`date +'%Y-%m-%d'`" 
new_folder=`mkdir $slideshow` 
通过ftp访问服务器,然后对服务器进行身份验证

ftp -n $ftp_server <<END_SCRIPT 
quote USER $ftp_username  
quote PASS $ftp_password 
然后退出

quit  
END_SCRIPT
全文

#!/bin/bash

ftp_server='********'
ftp_username='********'
ftp_password='********'
slideshow="`date +'%Y-%m-%d'`"
new_folder=`mkdir $slideshow`

ftp -n $ftp_server <<END_SCRIPT
quote USER $ftp_username
quote PASS $ftp_password
put $new_folder
quit
END_SCRIPT
#/bin/bash
ftp_服务器='********'
ftp_用户名='********'
ftp_密码='********'
幻灯片放映=“`date+'%Y-%m-%d'`”
新建文件夹=`mkdir$slideshow`

ftp-n$ftp\u服务器听起来像是在向ftp客户端发送命令,而不是使用正确的命令。您必须使用变量在shell脚本中动态创建一个临时
ftp
脚本,然后才执行它。感谢您的回答:我该怎么做?使用什么bash脚本?那么您是从php页面执行ftp吗?您要连接的ftp服务器位于不同的计算机上,还是位于同一台服务器上?这个问题写得不好。或者您需要帮助为linux编写bash脚本以进行FTP吗?我建议你用#/usr/bin/expect用于脚本。为什么不按照@Quentin的建议使用ftp库?
#!/bin/bash

ftp_server='********'
ftp_username='********'
ftp_password='********'
slideshow="`date +'%Y-%m-%d'`"
new_folder=`mkdir $slideshow`

ftp -n $ftp_server <<END_SCRIPT
quote USER $ftp_username
quote PASS $ftp_password
put $new_folder
quit
END_SCRIPT