我做图片托管,我遇到了问题..
我有3台服务器。
首先 - 网站/脚本
任意两台图像服务器。
如何将图像从“一个”服务器(脚本)上传到第二个和第三个服务器?
<?php
if (isset($_POST['upload']))
{
$blacklist = array('.php', '.phtml', '.php3', '.php4', '.php5');
foreach ($blacklist as $item)
{
if(preg_match('#' . $item . '\$#i', $_FILES['file']['name']))
{
echo "We do not allow uploading PHP files\n";
exit;
}
}
$uploadDir = PROJECT_ROOT . 'upload/'; // 1ST SERVER (THIS SERVER)
$uploadFile = $uploadDir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile))
{
echo "File is valid, and was successfully uploaded.\n";
}
else
{
echo "File uploading failed.\n";
}
}
?>
<form name="upload" method="post" enctype="multipart/form-data">
Select the file to upload: <input type="file" name="file"/>
<input type="submit" name="upload" value="upload"/>
</form>
答案 0 :(得分:4)
你可以使用ftp。 PHP有相当简单的方法来做到这一点。点击此链接。
答案 1 :(得分:0)
如果您已在其他服务器上运行HTTP服务器,请使用cURL。用法:
可以使用curl_setopt配置HTTP请求。特别感兴趣的是选项CURLOPT_URL,CURLOPT_POST和CURLOPT_POSTFIELDS。
答案 2 :(得分:0)
您可以使用Zend_Http客户端按照HTML上传表单的方式将文件上传到其他服务器。您可以在“文件上传”部分找到所需的所有信息:http://www.zendframework.com/manual/en/zend.http.client.advanced.html
要开始使用,您还应该阅读:
http://www.zendframework.com/manual/en/zend.http.client.html
基本上您需要的代码是:
require_once('Zend/Http/Client.php');
$client = new Zend_Http_Client("http://serverurl/path");
$client->setFileUpload(...);
$client->request();