- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 PHP 脚本,它使用 cURL 在 Sharepoint 上上传文档。如果我在终端中运行 scipt,上传过程会正常进行。
因为我想每当这个文件被更改时自动调用脚本,我使用 incron检测相应文件夹中的更改并触发 PHP 脚本的调用。
我的 incron 文件如下所示:
/var/www/[further path]/temp IN_MODIFY,IN_CREATE /usr/bin/php /var/www/[further path]/uploadToSharepoint.php
当我查看系统日志时,我可以看到脚本调用已由 incron 正确触发。但由于某些原因,该文件没有上传到 Sharepoint。我还尝试创建具有全局写入权限的文件,但这并没有解决我的问题。
-rwxrwxrwx 1 www-data www-data 49058 Mär 3 10:28 [file].xlsx
这是我正在调用的脚本:
包含'database.php';
$username="[username]";
$password="[password]";
$localFileURL="/var/www/[further path]/temp/";
$files = scandir($localFileURL, 1);
$newest_file = $files[0];
$pathToUpload=getTeamPath($newest_file);
uploadDocument($pathToUpload . '/' . $newest_file, $localFileURL . $newest_file,$username, $password);
function uploadDocument($dest, $localFile,$username, $password){
$fp = fopen($localFile, 'r');
// Connecting to website.
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
curl_setopt($ch, CURLOPT_URL, $dest);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 86400); // 1 Day Timeout
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_NOPROGRESS, false);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 128);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localFile));
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_exec ($ch);
if (curl_errno($ch)) {
$msg = curl_error($ch);
}
else {
$msg = 'File uploaded successfully.';
}
curl_close ($ch);
}
如果有任何帮助,我将不胜感激!!!
编辑:我现在也用普通的 crontab 测试了它,但这也不起作用。它确实执行脚本并循环遍历它而不打印错误,但不上传文件。是否可能与身份验证有关?
最佳答案
如果你说运行时一切正常
> php /var/www/[further path]/uploadToSharepoint.php
手动从命令行而不是通过 incron 那么最有可能的问题是运行 incrone 命令的 user
选项 1) 尝试识别运行 incrone 命令的用户,然后切换到该用户并再次运行相同的 php/var/www/[further path]/uploadToSharepoint.php
选项 2) 尝试 chmod 到 0777 您的扫描目录并使用 incron 再次测试
关于用于上传文件的 PHP 脚本在终端中有效,但不能像使用 incron 自动调用一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575293/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!