我正在尝试删除文件通过API成功发送到Box后上传到我的服务器的文件。但是,unlink
未删除该文件。以下是我的代码的相关部分:
$cur_time = time();
$apikey= $_SESSION["api_key"];
$list_id = $_POST['list_id'];
$justfile= "list-".$list_id."-".$cur_time.".csv";
$filename = "data/list-".$list_id."-".$cur_time.".csv";
$final_file = file_put_contents($filename, $csvOutput);
$cur_time = time();
$headr[] = 'Authorization: Bearer xxxxxxxxxxxxxx';
$target_url = 'https://upload.box.com/api/2.0/files/content';
$file_name_with_full_path = realpath($final_file);
$json = json_encode(array(
'name' => $list_id."-".$cur_time.".csv",
'parent' => array('id' => 4224475591)
));
$fields = array(
'attributes' => $json,
'file'=>'@'.$filename
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = json_decode( curl_exec($ch));
curl_close ($ch);
$my_resp = $result->total_count; //if 1, then upload to Box was successful
if ($my_resp ==1){
echo("success");
unlink($justfile);
}
else{
echo("problem");
unlink($justfile);
}
如果我var_dump($justfile)
,我会得到一个与应该删除的文件完全匹配的字符串,现在它位于我的服务器上。
我在这里做错了什么?
答案 0 :(得分:1)
找出问题所在。我忽略了在unlink
中包含正确的路径。而不是unlink($justfile);
我需要unlink($filename);
,因为它包含文件的完整路径。