Nasıl bir dosya kendi API ile RACKSPACE en Cloudfiles kaldırmak mı?

5 Cevap php

Ben nasıl ben kendi API kullanarak RACKSPACE en Cloudfiles bir dosya çıkarmak merak ediyorum?

Php kullanarak Im.

Devan

5 Cevap

CF_Container ve delete_object yöntemini kullanın.

İşte C # benim kodudur. Sadece API tahmin php için benzer.

    UserCredentials userCredientials = new UserCredentials("xxxxxx", "99999999999999");
    cloudConnection = new Connection(userCredientials);
    cloudConnection.DeleteStorageItem(ContainerName, fileName);

Eğer konteyner ayarlayın ve kullandığınız herhangi sudo klasörü tanımlamak emin olun.

$my_container = $this->conn->get_container($cf_container);
//delete file
$my_container->delete_object($cf_folder.$file_name);

Ben doğru olarak işaretlenmiş bir cevabı yoktur çünkü ben doğru biri olarak Matthew Flaschen cevabı kabul ederim, ancak ben burada sonrası düşündüm. Bu dosyayı silmek için gereken tüm kodu olacaktır

<?php
    require '/path/to/php-cloudfiles/cloudfiles.php';

    $username = 'my_username';
    $api_key = 'my_api_key';
    $full_object_name = 'this/is/the/full/file/name/in/the/container.png';

    $auth = new CF_Authentication($username, $api_key);
    $auth->ssl_use_cabundle();
    $auth->authenticate();

    if ( $auth->authenticated() )
    {
        $this->connection = new CF_Connection($auth);

        // Get the container we want to use
        $container = $this->connection->get_container($name);
        $object = $container->delete_object($full_object_name);
        echo 'object deleted';
    }
    else
    {
        throw new AuthenticationException("Authentication failed") ;
    }

Note "$ full_object_name" hayır başlangıç ​​'/' ile konteyner ve dosya adı dosyaya "yol" içerdiğini. Kaplar Sözde Hiyerarşik klasörleri / dizinleri kullanmak ve ne amaçla up kapta dosyanın adı olan yol + dosya olmasıdır. Daha fazla bilgi görmek için http://docs.rackspace.com/files/api/v1/cf-devguide/content/Pseudo-Hierarchical_Folders_Directories-d1e1580.html

DeleteObject sınıfından denilen yöntem kullanarak CF_Container.

The method DeleteObject of CF_Container require only one string argument object_name. This arguments should be the filename to be deleted.

Feryat örneği C # kod bakın:

string username = "your-username";
string apiKey = "your-api-key";

CF_Client client = new CF_Client();
UserCredentials creds = new UserCredentials(username, apiKey);
Connection conn = new CF_Connection(creds, client);

conn.Authenticate();


var containerObj = new CF_Container(conn, client, container);

string file = "filename-to-delete";
containerObj.DeleteObject(file);

Note * DeleteObject class * dan CF_Client kullanmayın