在PHP中的Ftp相对路径

时间:2012-12-16 21:20:47

标签: php codeigniter ftp relative-path

我有一个问题,我不知道如何解决。让我解释一下......

目录结构:

-/public_html/lab/
-/public_html/lab/upload.php
-/public_html/lab/plugins/

我真的是新手用php + ftp,但我有一个想法,FTP不使用“绝对根路径”(/ home / user / public_html /),而是根据用户使用“绝对用户路径”问题(/ public_html),对吧?

好吧,在upload.php我有一个代码,其中FTP类暂时存储在upload.php所在的同一文件夹中的文件(/ public_html / lab /),然后尝试将其移动到{{ 1}}文件夹。

FTP类接收您要移动文件的路径。但是,我不想像绝对一样通过这条道路,我想避免这样:

/public_html/lab/plugins/

我想做这样的事情:

ftp->move('the-file.zip', '/public_html/lab/plugins/');

但上面的代码看起来无效。那么,我该如何重现那个结果呢?

2 个答案:

答案 0 :(得分:3)

您可以使用php相对路径,例如将文件移动到您的FTP位置

$_SERVER['DOCUMENT_ROOT'] ."/lab/plugins/" ;

答案 1 :(得分:1)

而不是设计用于两个不同主机之间通信的FTP,请考虑通过upload.php中的move_uploaded_file移动文件:

move_uploaded_file($_FILES['uploaded']['tmp_name'],'./plugins/'.$_FILES['uploaded']['name']);

通过PHP脚本上传文件后,临时文件将在$ _FILES [$ inputFieldName] ['tmp_name']下的_FILES superglobal中提供。如果您正在使用我给出的示例,请确保之前清除“name”属性,因为它将允许客户端注入并在应用程序中留下巨大的安全漏洞。