Here is the code, I cannot find any unenclosed single or double quotes - but when executed it returns
这里是代码,我找不到任何未封装的单引号或双引号——但是当执行时它返回。
Parse error: syntax error, unexpected '}', expecting T_STRING client.php on line 137
解析错误:语法错误,意外的“}”,期望T_STRING客户端。php在第137行
:
:
<?php
/**
* An API client for Dropbox
*/
class DropboxClient
{
protected $Session = null;
/**
* Common API URL
* @var
*/
protected $dropboxAPIURL = "https://api.dropbox.com/1";
/**
* Content-related API URL
* @var
*/
protected $dropboxContentAPIURL = "https://api-content.dropbox.com/1";
/**
* Constructor
*
* Initialize the client wit a valid session
*
* @param object $session
* @return void
*/
function __construct( DropboxSession $session) {
$this->Session = $session;
$this->accessType = $this->Session->getAccessType();
}
/**
* Retrieve information from the user's account
*
* @return string
*/
public function accountInfo() {
$response = $this->Session->fetch("GET", $this->dropboxAPIURL, "/account/info");
return $response["body"];
}
/**
* Fetch metadata for a file or folder
*
* The path is relative to a root (ex /<root>/<path>) that can be 'sandbox' or 'dropbox'
*
* @param string $path The path of the resource to fetch
* @param boolean $list Whether to list all contained files (applies only to folders)
* @param int $fileLimit Max items returned with the listing mode
* @param string $hash Hash value for a previous call
* @param string $revision Specific revision for the object
* @param bool $includeDeleted Whether to include deleted files and folders
* @return string
*/
public function metadata($path, $list = true, $fileLimit = 10000, $hash = null, $revision = null, $includeDeleted = false) {
// Prepare argument list
$args = array(
"file_limit" => $fileLimit,
"hash" => $hash,
"list" => (int) $list,
"include_deleted" => (int) $includeDeleted,
"rev" => $revision
);
// Prepend the right access string to the desired path
if ("dropbox" == $this->accessType) {
$path = "dropbox" . $path;
}
else {
$path = "sandbox" . $path;
}
// Execute
$response = $this->Session->fetch("GET", $this->dropboxAPIURL, "/metadata/" . $path, $args);
return $response["body"];
}
/**
* Downloads a file from the user's Dropbox
*
* The path is relative to a root (ex /<root>/<path>) that can be 'sandbox' or 'dropbox'
*
* @param string $path The path of the resource to fetch
* @param string $outFile The download path for the file
* @param string $revision Specific revision for the object
* @return array
*/
public function getFile($path, $outFile = null, $revision = null) {
$args = array();
if (!empty($revision)) {
$args["rev"] = $revision;
}
// Prepend the right access string to the desired path
if ("dropbox" == $this->accessType) {
$path = "dropbox" . $path;
}
else {
$path = "sandbox" . $path;
}
// Get the raw response body
$response = $this->Session->fetch("GET", $this->dropboxContentAPIURL, "/files/" . $path, $args, true);
if ($outFile != null) {
if (file_put_contents($outFile, $response["body"]) === false) {
throw new Exception("Unable to write file '$outfile'");
}
}
return array(
"name" => ($outFile) ? $outFile : basename($path),
"mime" => $response["headers"]["content-type"],
"meta" => json_decode($response["headers"]["x-dropbox-metadata"]),
"data" => $response["body"]
);
}
/**
* Upload a file to the user's Dropbox
*
* The path is relative to a root (ex /<root>/<path>) that can be 'sandbox' or 'dropbox'
*
* @param string $file The full path of the file to upload
* @param string $path The destination path (default = root)
* @param string $name Specifies a different name for the uploaded file
* @param boolean $overwrite Overwrite any existing file
* @return array
*/
public function putFile($file, $path = "/", $name = null, $overwrite = true) {
// Check for file existence before
if (!file_exists($file)) {
throw new Exception("Local file '" . $file . "' does not exist");\
}
// Dropbox has a 150MB limit upload for the API
if (filesize($file) > 157286400) {
throw new Exception("File exceeds 150MB upload limit");
}
$args = array(
"overwrite" => (int) $overwrite,
"inputfile" => $file
);
// Prepend the right access string to the desired path
if ("dropbox" == $this->accessType) {
$path = "dropbox" . $path;
}
else {
$path = "sandbox" . $path;
}
// Determine the full path
if (!empty($name)) {
$path = dirname($path) . "/" . $name;
}
else {
$path .= basename($file);
}
// Get the raw response body
$response = $this->Session->fetch("PUT", $this->dropboxContentAPIURL, "/files_put/" . $path, $args);
return $response["body"];
}
}
I cannot find any part of the code that could be causing the error on line 137 or above?
我找不到任何可能导致137行或以上错误的代码。
3 个解决方案
#1
2
You have a backslash in the code on line 136:
在第136行的代码中有一个反斜杠:
throw new Exception("Local file '" . $file . "' does not exist");\
^
#2
1
Here, you have an unnecessary backslash,
这里有一个不必要的反斜杠,
throw new Exception("Local file '" . $file . "' does not exist");\
Note: Please use an IDE for detect such trivial errors.
注意:请使用IDE来检测这些小错误。
#3
0
Is there meant to be a backslash on the end of this line?
在这条线的末端有反斜杠吗?
Exception("Local file '" . $file . "' does not exist");\
#1
2
You have a backslash in the code on line 136:
在第136行的代码中有一个反斜杠:
throw new Exception("Local file '" . $file . "' does not exist");\
^
#2
1
Here, you have an unnecessary backslash,
这里有一个不必要的反斜杠,
throw new Exception("Local file '" . $file . "' does not exist");\
Note: Please use an IDE for detect such trivial errors.
注意:请使用IDE来检测这些小错误。
#3
0
Is there meant to be a backslash on the end of this line?
在这条线的末端有反斜杠吗?
Exception("Local file '" . $file . "' does not exist");\