首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -在不同的服务器上创建目录

PHP -在不同的服务器上创建目录
EN

Stack Overflow用户
提问于 2011-03-05 22:13:25
回答 4查看 6.2K关注 0票数 2

我在我的Mac上运行了Wamp (服务器名为emerald)和Mamp。人们在Mamp上注册。Emerald基本上是文件托管。

Emerald连接到Mamp的mysql数据库,以登录用户。然而,我想在Emerald上使用PHP创建一个新的注册目录。

我该怎么做呢?我试过使用下面的代码:

代码语言:javascript
复制
$thisdir = "192.168.1.71";
$name = "Ryan-Hart";

if(mkdir($thisdir ."/documents/$name" , 0777)) 
{ 
   echo "Directory has been created successfully..."; 
}

但没那么走运。它基本上需要连接另一台服务器并以用户的名义创建一个目录。

我希望这一点是清楚的。

EN

回答 4

Stack Overflow用户

发布于 2011-03-05 22:18:15

您不能通过http创建目录。您需要到远程位置的文件系统连接(例如,本地硬盘或网络共享)。

不需要设置FTP、SSH或网络共享的最简单方法是在Emerald上放置一个PHP脚本:

代码语言:javascript
复制
<?php

 // Skipping sanitation because it's only going to be called
 // from a friendly script. If "dir" is user input, you need to sanitize 
 $dirname = $_GET["dir"];

 $secret_token = "10210343943202393403";
 if ($_GET["token"] != $secret_token) die ("Access denied");
 // Alternatively, you could restrict access to one IP

 error_reporting(0); // Turn on to see mkdir's error messages

 $success = mkdir("/home/www/htdocs/docs/".$dirname);
 if ($success) echo "OK"; else echo "FAIL";

并从另一台服务器调用它:

代码语言:javascript
复制
$success = file_get_contents("http://192.168.1.71/create_script.php?token=10210343943202393403&dir=HelloWorld");

echo $success;  // "OK" or "FAIL"
票数 2
EN

Stack Overflow用户

发布于 2011-03-05 22:16:21

在另一台创建目录的服务器上创建脚本,并远程调用它。确保你有安全检查(至少有一个简单的密码)

票数 1
EN

Stack Overflow用户

发布于 2011-03-05 22:19:42

没有访问远程服务器文件系统的通用方法。为此,您必须使用文件传输协议和服务器软件。一种选择是SSH,但是需要进行一些设置。

代码语言:javascript
复制
$thisdir = "ssh2.sftp://user:pass@192.168.1.71/directory/";

在Windows上,您可能更容易让FTP工作,因此使用ftp:// url作为目录可能会起作用。

作为最后一种选择,您可以在您的WAMP not服务器上启用WebDAV ( PUT方法单独用于文件传输,而不是创建目录)。(但是,您可能无法使用原始的PHP文件函数,可能需要包装器类或curl来利用它。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5204308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档