我无法使用ftp制作远程目录。
我收到错误Warning: ftp_mkdir(): Can't create directory: No such file or directory
我正在尝试这种方式。
$connection = ftp_connect($hostname) or die('Couldn\'t connect to ftp server');
$login = ftp_login($connection, $username, $password) or die('Couldn\'t log_in to ftp server');
ftp_pasv($connection, true);
if ($login){echo 'Connected Successfully.';}else{echo 'Cannot connect.';}
$dir = '2014/04/09';
if(!@ftp_chdir($connection, '/public_html/images/'.$dir)){
$ftp_mkdir = ftp_mkdir($connection, '/public_html/images/'.$dir);
if($ftp_mkdir){
echo 'Remote directory created successfully';
}
else{
echo 'Error creating remote directory';
}
}
else{
echo 'Remote directory exist';
}
请参阅并建议任何可行的方法。
感谢。
答案 0 :(得分:1)
在Windows中* . " / \ [ ] : ; | = ,
是保留字符,并且不允许在您的文件名中使用。
对于Linux,我认为它只是/
和\0
/
字符用于遍历Linux中的文件目录,因此禁止将其用作文件名。
有关非法文件名的更多信息: http://en.wikipedia.org/wiki/Filename#Reserved%5Fcharacters%5Fand%5Fwords
您必须将/
符号替换为其他内容,例如-
重播你的评论:
制作像images/2014/04/09/image.png
您只需在服务器上创建文件夹即可。所以images/2014/04/09/image.png
是一个名为image.png
的文件,位于文件夹09
内的文件夹04
内,该文件夹位于文件夹2014
内images
希望制作场景?
答案 1 :(得分:1)
遇到类似的问题,并通过一次创建一个文件夹来解决。我无法让ftp_chdir在单个命令上创建整个路径。
所以要创建它:
$dir = '2014/04/09';
我必须先创建:
$dir = '/2014/';
然后:
$dir = '/2014/04/';
最后:
$dir = '/2014/04/09/';
然后提交文件“ /2014/04/09/image.jpg”。
像魅力一样工作。