Unlink не удаляет файл

1

Я пытаюсь удалить файл, который загружен на мой сервер после того, как файл успешно отправлен в Box через API. Однако 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
    Какие предупреждения вы получаете? unlink генерирует E_WARNING при E_WARNING .
  • 0
    У вас есть разрешение на удаление файлов? Попробуйте напрямую удалить некоторые * .txt используя unlink($path_to_txt_file); и посмотрим, что вы получите.
Показать ещё 7 комментариев
Теги:

1 ответ

1

Выяснил вопрос. Я забыл включить правильный путь в моем тривиальном unlink. Вместо unlink($justfile); Мне нужно unlink($filename); , так как это содержит полный путь к файлу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню