Bild-Upload zur rackspace cloud-Dateien mit PHP
Ich versuche zum hochladen die Datei zu rackspace cloud Datei mit dem folgenden code:
Upload.html
<form action="upload.php" enctype="multipart/form-data" method="POST">
File:
<input name="upload" type="file" />
<input name="submit" type="submit" value="Upload To Rackspace!" />
</form>
Upload.php
<?php
//include the API
require('cloudfiles.php');
//cloud info
$username = ""; //username
$key = ""; //api key
//Connect to Rackspace
$auth = new CF_Authentication($username, $key);
$auth->authenticate();
$conn = new CF_Connection($auth);
//Get the container we want to use
$container = $conn->get_container('resumetune');
//store file information
$localfile = $_FILES['upload']['tmp_name'];
$filename = $_FILES['upload']['name'];
//upload file to Rackspace
$object = $container->create_object($filename);
$object->load_from_filename($localfile);
?>
Jetzt bin ich immer die gollowing Fehler:
Fatal error: Uncaught exception 'BadContentTypeException' with message 'Erforderlich Content-Type nicht gesetzt' in C:\xampp\htdocs\rackspace\cloudfiles.php:1645 Stack trace: #0 C:\xampp\htdocs\rackspace\cloudfiles.php(1962): CF_Object->_guess_content_type('C:\xampp\tmp\ph...') #1 C:\xampp\htdocs\rackspace\upload.php(24): CF_Object->load_from_filename('C:\xampp\tmp\ph...') #2 {main} thrown in C:\xampp\htdocs\rackspace\cloudfiles.php on line 1645
Also jemand eine Idee dazu? vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf http://github.com/rackspace/php-cloudfiles/blob/master/cloudfiles.php auf die Funktion _guess_content_type() schaut es für den Content-Typ und es ist es nicht zu finden. Entweder Sie benötigen mehr Informationen zu Ihrem /share/magic oder können Sie vielleicht den Content-type vor dem Aufruf der load_from_filename wenn Sie wissen, was der content-type ist.
Hier ist ein Update, wenn Sie weder mime oder FileInfo-Funktionen zur Verfügung:
Wenn Sie nicht über die FileInfo-Erweiterung aktiviert ist (standardmäßig aktiviert, da PHP 5.30). Ich schlage vor, Sie prüfen, wenn mime_content_type () - Funktion verfügbar ist.
Scheint es, dass, wenn Sie weder von denen, die Content-Type kann nicht erkannt werden. Wenn beides nicht vorhanden jetzt, ich würde zu bekommen FileInfo
Fand ich Chris Bake ' s Lösung hilfreich. Ich brauchte ein "." vor jeder Erweiterung unten.
Vielleicht wollen Sie auch zu prüfen, mit den neueren offiziellen Rackspace PHP-SDK. Hier ist der Beispielcode für erstellen Sie ein Objekt.