我有以下PHP代码,可以让我将文件备份到Dropbox:
// Dropbox username/password
$dropbox_email = 'xxxxxxxxxx';
$dropbox_pass = 'xxxxxxxxxxx';
include('DropboxUploader.php');
$uploader = new DropboxUploader($dropbox_email, $dropbox_pass);
$uploader->upload('backup-images.php','Backup/');
$uploader->upload($zipArchiveName,'Backup/');
文件backup-images.php大约是1kb,而$ zipArchiveName大约是400Mb。我好像要上传backup-images.php而不是$ zipArchiveName。
我尝试使用
ini_set('max_execution_time', 0);
ini_set('memory_limit', '-1');
我也尝试修改php.ini,即max_execution_time和memory_limit,但我似乎无法将巨大的文件上传到dropbox。我的保管箱帐户上有足够的空间。
在我的情况下,我不想使用Dropbox SDK,但DropboxUploader.php找到here。
我想了解为什么这不起作用的建议或理由或想法如何解决它。
答案 0 :(得分:0)
通过将备份文件拆分为多个文件,可以解决此问题。 TAR存档程序可以创建多部分存档。看看:https://unix.stackexchange.com/questions/21373/can-i-automate-tars-multi-volume-feature
答案 1 :(得分:0)
该类中有一个常量,它在此行提供上传大小限制:
const DROPBOX_UPLOAD_LIMIT_IN_BYTES = 314572800;
这是300MB。所以这个类应该在以下400MB文件的代码部分抛出一个Exception:
$filesize = filesize($source);
if ($filesize < 0 or $filesize > self::DROPBOX_UPLOAD_LIMIT_IN_BYTES) {
throw new Exception("File '$source' too large ($filesize bytes).", self::CODE_FILESIZE_TOO_LARGE);
}
您是否在错误日志中看到此异常?
我不知道这是否是此Dropbox API的真正电流限制。您可能需要查看他们的文档,看看是否可以提高最大大小常数。