我有一个问题,我不知道如何解决。让我解释一下......
目录结构:
-/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/');
但上面的代码看起来无效。那么,我该如何重现那个结果呢?
答案 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”属性,因为它将允许客户端注入并在应用程序中留下巨大的安全漏洞。