【发布时间】:2015-06-30 11:16:17
【问题描述】:
我正在尝试使用 php 将文件上传到 microsoft dynamics crm,为此我已将 microsoft sharepoint 集成到 crm。我使用 curl 通过 crm 将文件上传到共享点,但在执行 curl 脚本时出现 411 或 401 http 错误。我是 curl 的新手。请帮助
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
if(isset($_POST['submit']) ) {
$process = curl_init();
$username = 'xxx';
$password = 'xxx';
$filename = $_FILES['ecosFile']['name'];
$filedata = $_FILES['ecosFile']['tmp_name'];
$filesize = $_FILES['ecosFile']['size'];
$post = array('file' => new CurlFile($filedata), "filename" => $filename);
print_r($post);
curl_setopt($process, CURLOPT_URL, 'https://crmsharepoint.XXX/sites/xxx/application/Forms/?RootFolder=xxx');
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type:multipart/form-data', 'Content-Length:50'));
curl_setopt($process, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($process, CURLOPT_POSTFIELDS, $post);
curl_setopt($process, CURLOPT_INFILESIZE, $filesize);
curl_setopt($process, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($process);
$resultStatus = curl_getinfo($process);
curl_close($process);
echo '<pre>';print_r($resultStatus);
if($resultStatus['http_code'] == 200) {
echo "hi".$response;
} else {
echo 'Call Failed '.print_r($resultStatus);
}
}
?>
<div>
<form action="testingcrm.php" enctype="multipart/form-data" method="post">
<input type="file" name="ecosFile" id="ecosFile">
<input type="submit" name="submit" value="Upload">
</form>
</div>
【问题讨论】:
-
你找到了任何答案..我需要解决这个问题
标签: php sharepoint curl file-upload crm