php对象存储托管服务,使用cURL和PHP通过OpenStack将文件存储在对象存储服务中

所以基本上我使用AngularJS将文件上传到网络服务器,然后尝试将其存储在OpenStack中的公共对象存储中。

现在我试图将文件传到网络服务器,更具体地说是一个名为uploads的本地文件夹。

然而,即使curl_exec上没有执行错误(我不知道如何获得响应代码..),它似乎根本没有上传。

这里是我参考的代码::

(我是PHP的新手,请让我免费!)

include_once "config.php";

$target_dir = "./upload/";

$name = $_POST['name'];

echo "I am here";

print_r($_FILES);

$target_file = $target_dir . basename($_FILES["file"]["name"]);

print_r($target_file);

if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)){

echo "Upload";

}

else{

echo "couldn't upload!";

}

print_r($file_name_with_full_path);

//write code for saving to object store

$target_url = 'http://myobjectstore' + $name;

if (function_exists('curl_file_create')) { // php 5.6+

$cFile = curl_file_create($target_file);

}

else { //

$cFile = '@' . realpath($target_file);

}

$data = array('file_contents'=> $cFile);

$ch = curl_init($target_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");

curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data));

$result=curl_exec ($ch);

if($result == true){

echo "File posted";

}

else{

echo "ERROR: " . curl_error($ch);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值