取消链接不删除文件

时间:2015-08-17 18:35:16

标签: php apache

我正在尝试删除文件通过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),我会得到一个与应该删除的文件完全匹配的字符串,现在它位于我的服务器上。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

找出问题所在。我忽略了在unlink中包含正确的路径。而不是unlink($justfile);我需要unlink($filename);,因为它包含文件的完整路径。