你好,有人可以帮我解决我的问题 . 我正在做一个基本的图像上传到远程服务器,这是我的代码本地实例:
public function do_upload(){
$uploadDir = FCPATH."public\\remote_files\\";
$uploadFile = $uploadDir . basename($_FILES[0]['name']);
$handle = fopen($uploadFile, "r");
$data = fread($handle, filesize($uploadFile));
if (move_uploaded_file($_FILES[0]['tmp_name'], $uploadFile)){
// set array to send data to remote server
$remoteData = array(
'fileName' => $_FILES[0]['name'],
'fileData' => base64_encode($uploadFile)
);
// start curl set up for remote file upload
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://myserver.com/folder/Rest/upload_image');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $remoteData);
$response = curl_exec($curl);
curl_close($curl);
echo $response; // set response to server.php file
} else {
echo "Your file not uploaded to server.";
}
}
这里是我的服务器端代码:
public function upload_image(){
header('Access-Control-Allow-Origin: *');
if (isset($_POST['fileName']) && $_POST['fileData'])
{
// Save uploaded file
$uploadDir = FCPATH."public/remote_files/";
file_put_contents(
$uploadDir. $_POST['fileName'],
base64_decode($_POST['fileData'])
);
// Done
echo "Success";
}
}
图像上传到我的本地文件夹没有任何问题,我也可以在远程文件夹中看到正在上传的内容,但是当您查看图像时它会被破坏 .
它说无法显示图像“http://myserver.com/folder/public/remote_files/download.jpg”,因为它包含错误 .
有谁可以帮我这个 .
提前致谢 .