Uploaded.to API Script

Uploaded.to bietet uns leider keine eigene API zum Hochladen von Dateien. Also müssen wir uns halt eine eigene API schreiben. Das hab ich getan und möchte euch nun mein Resultat vorstellen.

Das Script ist in PHP geschrieben und unter der LGPL lizenziert. Es ist leicht verständlich geschrieben, so das es ohne Probleme in anderen Sprachen wie z.B. C oder JAVA umgeschrieben werden kann.

Das Uploaded.to API Script unterstützt:

  • hochladen, herunterladen, Backup, löschen und umbenennen von Dateien
  • erstellen, löschen und umbenennen von Ordnern
  • Zuordnung von Dateien in Ordnern
  • Remote Uploads und Imports
  • Free und Premium User Support

Am Ende dieses Artikels gibt es das Uplaoded.to API Script zum Download.

 

Hier gehts zur JAVA – Version

 

Funktionsbeispiel:

Zeigen »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
 
require_once 'lib/Uploaded.php';
 
/**
 * Beispiel Free-User
 */
 
// Initialisierung
$up = new Uploaded();
 
//Uploadvorgang starten
$info = $up->upload('C:test.txt'); //Gibt im Erfolg File-ID und EditKey zurück
 
if($info !== false)
{
    echo "Upload erfolgreich! <br>";
    echo "File-ID: ".$info['id']."<br>";
    echo "EditKey: ".$info['editKey']."<br>";    
}
else
{
    echo "Upload fehlgeschlagen";
}
 
/**
 * Beispeil Premium-User
 */
 
$up = new Uploaded('ACC_ID', 'ACC_PW');
 
if($up->login_check())
    echo "Login erfolgreich";
 
//Uploadvorgang starten
$info = $up->upload('C:test.txt'); //Gibt im Erfolg File-ID und EditKey zurück (siehe Beispiel Free-User)
 
//Remote Upload starten
$up->add_remote_upload('http://test.de/upload.zip');
 
//Gibt alle Files es Account zurück als Objekt in Array!
$up->get_files();
 
//Gibt alle Files mit dem namen test.txt zurück
$up->get_files('fielname', 'test.txt');
 
//Gibt maximal 5 Files mit dem namen test.txt zurück
$up->get_files('fielname', 'test.txt',  5);
 
//Gibt das File direkt als Objekt zurück
$up->get_files('fielname', 'test.txt',  0);
 
//Gibt für das File test.txt die Eigenschaft ID zurück
$up->get_files('fielname', 'test.txt',  'id');
 
//Erstellt einen Ordner
$up->create_folder('Test'); //Gibt Folder-ID zurück
 
//Verschiebt eine Datei in einen Ordner
$up->move_to_folder('FILE-ID', 'FOLDER-ID');
 
//Verschiebt eine Datei in einen Ordner #2
$up->move_to_folder($up->get_files('filename', 'test.txt', 'id'), $up->get_folders('title', 'Test Ordner', 'id'));
 
//Löscht einen Ordner
$up->delete_folder('FOLDER-ID');
 
//Löscht eine Datei
$up->delete_file('File-ID');
 
//Benennt eine Datei um
$up->set_file_name('File-ID', 'Dateiname mit Erweiterung! z.b. test.txt');
 
//Bennent einen Ordner um
$up->set_folder_name('Folder-ID', 'Ordnername');
 
/**
 * File-Objekt
 *
array
  0 =>
    object(stdClass)
      public 'id' => string 'File-ID'
      public 'date' => string '27 Minuten'
      public 'filename' => string 'Dateiname mit Erweiterung'
      public 'desc' => null
      public 'size' => string '1,13 KB'
      public 'admin' => string 'EditKey'
      public 'file_extension' => string '.zip'
      public 'dls' => string '0'
      public 'lastdownload' => string 'kein Eintrag vorhanden'
      public 'privacy' => string ''
      public 'ddl' => boolean false
      public 'available' => boolean true
  1 =>
    object(stdClass)
      public 'id' => string 'File-ID'
      ...
 
Zugriff:
 
$obj[0]->id
*/
 
/**
 * Folder-Objekt
 *
array
  0 =>
    object(stdClass)
      public 'id' => string 'Folder-ID'
      public 'title' => string 'name des Ordners'
      public 'files' => string '0'
      public 'ispublic' => boolean false
  1 =>
    object(stdClass)
      public 'id' => string 'Folder-ID'
 
Zugriff:
$obj[0]->id
 */
?>

Download:

Changelog:

=== 0.18 ===

  • Fehler in der Funktion is_file_available() in Verbindung mit direkt Downloads behoben

=== 0.17 ===

  • Konstante UP_ERR_MAINTENANCE hinzugefügt
    • Die Funktionen download(), upload(), login(), get_account_info() und get_files() setzten nun den Fehler UP_ERR_MAINTENANCE ab, wenn sich Uploaded.net in Wartungsarbeiten befindet
    • Dies kann wie immer mit get_last_errno() und get_lst_error() abgefragt werden.

=== 0.16 ===

  • Die Downloadoption UP_FILE_HANDLER kann nun auf false gesetzt werden. Dadurch wird der Download direkt im Browser ausgegeben.
    • Nähere Informationen im Beispiel demo/download_file.php

=== 0.15 ===

  • Umfangreiche Änderungen in der Downloadsektion
  • Die Download Funktion hat einen weiteren Parameter dazu bekommen, (array) $opt [Optional]
  • Downloads können nun wieder aufgenommen werden (resume)
    • Konstante: UP_RESUME_DOWNLOAD
    • Nähere Informationen im Beispiel demo/download_file.php
  • Der Download-Funktion kann nun ein Progress-Handler übergeben werden (PHP >= 5.3)
    • Konstante: UP_PROGRESS_HANDLER
    • Damit ist es möglich den Fortschritt eines Downloads auszugeben
    • Nähere Informationen im Beispiel demo/download_file.php
    • Ein vollständiges Projekt liegt im Ordner demo/download_progress/index.php
  • Der Download-Funktion kann nun ein File-Handler übergeben werden
    • Konstante: UP_FILE_HANDLER
    • Damit wird die Downloaddatei nicht mehr in die Datei geschrieben, sondern ruft die File-Handler-Ressource auf. Damit könnt ihr selber über das Handling entscheiden.
      • z.B.  ist es möglich eine von fopen zurückgegeben Ressource zu übergeben oder auch einfach STDOUT.
    • In Verbindung mit UP_RESUME_DOWNLOAD muss auch UP_RESUME_START_BYTE übergeben werden.
    • Nähere Informationen im Beispiel demo/download_file.php
  • UP_PROGRESS_HANDLER ist auch in der Upload-Funktion nutzbar

=== 0.14 ===

  • Regex in get_download_infos() angepasst (Danke an leto)

=== 0.13 ===

  • Interne Änderungen
  • Funktion get_download_infos() hinzugefügt.
    • Diese Funktion gibt den Dateiname und Dateigröße vor einem Download zurück.
    • Nähere Informationen im Beispiel demo/get_download_info.php
  • Funktion get_account_info() überarbeitet
    • Diese Funktion gibt nun zusätzliche Informationen zurück: Account-Id, Account Erstelltdatum, Aliasname, E-Mail, Account Status, Download Traffic, Premium Punkte, Guthaben und Premium-Laufzeit.
    • Nähere Informationen im Beispiel demo/get_account_info.php

=== 0.12 ===

  • Interne Änderungen
  • Es kann nun auch der Aliasname für den Login verwendet werden.

=== 0.11 ===

  • Guthaben und Punktestand können nun über get_account_info() ausgelesen werden.
    • Nähere Informationen im Beispiel demo/get_account_info.php
  • Es können nun, mit der Methode get_folder_files(Ordnername), alle Files eines Ordners extrahiert werden
    • Nähere Informationen im Beispiel demo/get_folder_files.php

=== 0.10 ===

  • Umstellung auf Uploaded.net

=== 0.9 ===

  • Neue Methode set_privacy() hinzugefügt.
    • Damit ist es möglich Privatsphäre-Einstellungen der einzelnen Dateien vorzunehmen.
    • Siehe dazu demo/set_privacy.php

=== 0.8 ===

  • Anpassung an die Änderungen von Uplaoded.to (Download)

=== 0.7 ===

  • Add: get_last_errno – Gibt letzte Fehlernummer zurück
  • Add: get_last_error – Gibt letzte Fehlernachricht zurück
    • Beide Funktionen sind erstmal für Login, Upload und Download eingebaut.
  • Add: is_file_available – Überprüft eine Datei auf Verfügbarkeit (Danke Lukas)
  • Bugfix: Upload sollte jetzt bei jedem funktionieren.
  • Bugfix: Download funktioniert jetzt auch bei Direktdownloads. (Danke Thomas)

=== 0.6 ===

  • Bugfix: Login Überprüfung funktioniert jetzt wieder korrekt
  • Bugfix: File-Download funktioniert jetzt wieder korrekt

=== 0.5 ===

  • Bugfix in get_files() (UTF-8 support) – Umlaute sollten jetzt keine Probleme mehr verursachen (Danke an Bull)
  • get_files() kann jetzt mehr als 100 Dateien zurückgeben
  • Interne Änderungen

=== 0.4 ===

  • Add: add_import – Importiert eine oder mehrere URLs (siehe demo/import.php)

=== 0.3 ===

  • Add get_account_info() – Gibt Account-Informationen zurück (siehe demo/get_account_info.php)
  • Add download() – Ermöglicht das herunterladen einer Datei (siehe demo/download_file.php)
  • Edit mime-Type Funktion

=== 0.2 ===

  • Sicherheitskopie – Funktion hinzugefügt
Schlagwörter: , ,

152 Kommentare bisher »

  1. Daniel sagt

    am 18. September 2011 @ 11:25

    Hi,

    Also irgendwie will das ganze bei mir nicht,

    Datei liegt beispielsweise im Selben verzeichnis, in dem Fall „text.txt“. Liefert aber immer nur „upload fehlgeschlagen“. Habe dein Beispiel ausprobiert. Ne Idee?

  2. admin sagt

    am 18. September 2011 @ 13:00

    Hallo,

    – Wie sieht denn dein PHP Script aus?
    – Free oder Premium Upload?
    – Welchen Server nutz du?

    < ?php require_once '../lib/Uploaded.php'; $up = new Uploaded(); $info = $up->upload(‚D:\test.c‘);

    if($info !== false)
    { echo „Upload erfolgreich!
    „;
    echo „File-ID: „.$info[‚id‘].“
    „;
    echo „EditKey: „.$info[‚editKey‘].“
    „;
    }
    else
    {
    echo „Upload fehlgeschlagen“;
    }
    ?>

    Geht bei mir ohne Probleme.

    lg Julius

  3. Daniel sagt

    am 18. September 2011 @ 14:25

    Hi,

    Geht um den FREE Upload.

    $up = new Uploaded();

    $info = $up->upload(‚test.txt‘);

    if($info !== false)
    {
    echo „Upload erfolgreich! „;
    echo „File-ID: „.$info[‚id‘].““;
    echo „EditKey: „.$info[‚editKey‘].““;
    }
    else
    {
    echo „Upload fehlgeschlagen“;
    }

    Haut nicht hin.

    Habe einen Linux Server!

  4. Daniel sagt

    am 18. September 2011 @ 14:34

    Sorry „require_once ‚../lib/Uploaded.php‘;“ ist natürlich auch enthalten.

  5. admin sagt

    am 18. September 2011 @ 18:40

    Also

    Du könntest mal ganz oben in dein PHP Script folgende Zeile hinzufügen:
    error_reporting(E_ALL);
    Diese Funktion zeigt dir alle Fehler an.

    Desweiten musst du mal deine phpini checken. Am einfachsten geht das in dem du phpinfo() in einem PHP-Script aufrufst.

    Folgende Module müssen aktiviert sein damit der Upload funktioniert:
    – curl und fileinfo

  6. drfahnenflucht sagt

    am 10. Oktober 2011 @ 05:51

    Hallo, gibt es auch eine Möglichkeit an die eigene Linksliste zu gelangen?

  7. admin sagt

    am 23. Oktober 2011 @ 01:40

    Hallo drfahnenflucht,

    sry das ich jetzt erst schreibe. Aber ja es ist möglich die eigene Linkliste anzuzeigen.

    < ?php $up = new Uploaded('ACC_ID', 'ACC_PW'); if($up->login_check())
    echo „Login erfolgreich“;

    //Gibt alle Files des Accounts zurück (als Objekt Array)
    $up->get_files();

    /**
    * File-Objekt
    *
    array
    0 =>
    object(stdClass)
    public ‚id‘ => string ‚File-ID‘
    public ‚date‘ => string ’27 Minuten‘
    public ‚filename‘ => string ‚Dateiname mit Erweiterung‘
    public ‚desc‘ => null
    public ’size‘ => string ‚1,13 KB‘
    public ‚admin‘ => string ‚EditKey‘
    public ‚file_extension‘ => string ‚.zip‘
    public ‚dls‘ => string ‚0‘
    public ‚lastdownload‘ => string ‚kein Eintrag vorhanden‘
    public ‚privacy‘ => string “
    public ‚ddl‘ => boolean false
    public ‚available‘ => boolean true
    1 =>
    object(stdClass)
    public ‚id‘ => string ‚File-ID‘

    Zugriff:

    $obj[0]->id
    */
    ?>

  8. Manuel sagt

    am 25. Oktober 2011 @ 23:55

    Habe auch ein Problem.
    Upload funktioniert in Windows.
    Upload auf Debian-System scheitert mit:
    „failed creating formpost“

    $info = $up->upload(„./test.txt“);

    get_files hingegen geht.

    Irgendjemand ne Idee?

  9. admin sagt

    am 26. Oktober 2011 @ 04:53

    Danke für den Hinweis

    Versucht mal bitte:
    $info = $up->upload(„test.txt“);
    Wenn die Datei sich im selber Verzeichnis befindet wie die Uploaded.php

    Wenn nicht dann versuch es bitte mit dem Absolutenpfad (z.b /home/test.txt)

    Ich hoffe ich konnte dir helfen.

    mfg Julius

  10. DrFahnenflucht sagt

    am 18. November 2011 @ 21:57

    Hallo vielen Dank erst mal 🙂
    Versuche das ganze schon seit Ewigkeiten mit Python und dem Modul Mechanize hin zu bekommen. Habe aber eben mal erfahren das Mechanize keine Java Script unterstützt :/
    Bräuchte solch ein Script welches Lokal auf meinem Rechner läuft.
    Die PHP Scripte werde selbstverständlich auch testen.

    lg DrFahnenflucht

  11. MikO sagt

    am 27. November 2011 @ 17:46

    hallo zusammen.
    tolles script btw, erspart mir viel arbeit.

    ich würde gerne ergänzent noch die funktion
    http://uploaded.to/io/file/backup/
    nutzen, das klappt soweit auch ganz gut, aber ich hab keine idee, wie ich an die id der neuen datei komme…

    eine idee?

  12. admin sagt

    am 28. November 2011 @ 03:08

    Hallo MikO,

    danke für den Tipp, ich werde die Funktion heute Nachmittag einbauen.

    Vorbei schauen nicht vergessen 🙂

  13. admin sagt

    am 29. November 2011 @ 18:03

    So wie versprochen habe ich das Skript um die Sicherheitskopie – Funktion erweitert.

    Ein Beispiel ist in „Demo/Backup_File.php“ zu finden.

    mfg Julius

  14. Skullteria sagt

    am 11. Dezember 2011 @ 11:28

    Wie kann ich denn ein Script schreiben, welches über ein Webinterface die Dateien auf einen Server runterladen würde?

  15. Manuel sagt

    am 13. Dezember 2011 @ 18:43

    Hi,

    also ich habe mein Problem auf meinem debian system gefixed.
    Wenn ich in der Upload-Methode beim Array-Wert ‚Filedata‘ den Mime-Type weglasse funktioniert es prima.

    gruß Manuel

  16. admin sagt

    am 18. Dezember 2011 @ 12:24

    Version 0.3 freigegeben

    Manuel, mit der Version 0.3 dürfe es keine Probleme mehr mit den Mime-Type geben.

  17. Memo sagt

    am 20. Dezember 2011 @ 16:28

    Hi,

    wie funktioniert deine Programm… bin kein programmierer kenne mich ein wenig mit php, html usw aus…
    als für ganz dumme, wie soll ich das Prog zum laufen bringen??

    habe XAMP, reicht es mir auch??

    Danke

  18. achfer sagt

    am 19. Januar 2012 @ 18:44

    Kann man auch die Importfunktion einfügen?

  19. admin sagt

    am 19. Januar 2012 @ 20:53

    Klar kann man das 🙂

    Hab die neue Version soeben hochgeladen.

    Funktion nennt sich add_import($urls);

    Ein Beispiel ist unter demo/import.php zu finden.

    Julius

  20. achfer sagt

    am 20. Januar 2012 @ 12:19

    wunderbar 😉

    hast du noch ne idee wie ich es in mein java projekt einfügen kann?
    da ich kein experte in php bin bekomm ich das nicht so hin 😀

    ich hab noch nie so viele Fehler auf einmal gesehen 😀 😀

  21. achfer sagt

    am 20. Januar 2012 @ 15:29

    oder ne bessere frage:

    wie kann ich den uploded.to/io/import benutzen?
    einfach die file dahintersetzten geht nicht 🙁

  22. Lifez sagt

    am 21. Januar 2012 @ 14:40

    ich bekomme zur zeit immer:

    Fatal error: Call to undefined function curl_init() in …\lib\Uploaded.php on line 447

  23. admin sagt

    am 21. Januar 2012 @ 17:32

    @achfer #1

    Schick mir mal deine Java-Klasse ich schau mal drüber

    @achfer #2

    mit der Funktion add_import($urls) siehe dazu /demo/import.php

    @Lifez

    Beachte bitte das Curl aktiviert bzw. installiert sein muss.

    Guck dazu in deiner php.ini unter „Dynamic Extensions“ ob php_curl nicht Auskommentiert ist (; am anfang)

    @all

    Wenn interesse besteht kann ich die Lib auch noch für Java veröffentlichen.

  24. achfer sagt

    am 21. Januar 2012 @ 18:06

    also ich würde die lib gerne für java haben 😉

  25. admin sagt

    am 21. Januar 2012 @ 19:31

    🙂 Alles klar ich werd mich mal ran setzen. Dauert aber sicher ein wenig.

  26. Jazz sagt

    am 21. Januar 2012 @ 23:44

    Ich will das ganze in C# umschreiben.

    Wo ist die Funktion „get_mime_type“?
    Was tut sie?

  27. Willi sagt

    am 21. Januar 2012 @ 23:50

    Muss man seine AccountDaten und die Dateipfad zum Upload per Hand in die Uploaded.php eintragen??

  28. admin sagt

    am 21. Januar 2012 @ 23:52

    get_mine_type gibt den MIME – Type der hochzuladenden Date zurück (Multipurpose Internet Mail Extensions -> http://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions).

    Definiert ist die Funktion in Zeile 504

    Wird in der Funktion upload(); benötigt

  29. admin sagt

    am 22. Januar 2012 @ 00:02

    @Willi

    Nein, natürlich nicht.
    Dies ist eine library bzw. eine Klasse.

    Du kannst Sie einfach aus deinem Skript herraus aufrufen.

    z.b.

    $up = new Uploaded();

    if(!$up->login(‚ACC_ID‘, ‚ACC_PW‘))
    {
    die(„Login fehlgeschlagen!“);
    }

    //Uploadvorgang starten
    $info = $up->upload(‚D:\test.c‘);

    usw.

    Beispiele sind in /demo/*.php zu finden.

  30. Jazz sagt

    am 22. Januar 2012 @ 14:35

    Danke für die schnelle Hilfe!

    In der upload Funktion steht:

    $this->get_curl($this->get_upload_server().’upload?admincode=‘.$key.$this->auth_str,$postdata);

    get_curl muss doch ein String übergeben werden?
    $postdata wurde zuvor doch als Array deklariert?

  31. admin sagt

    am 22. Januar 2012 @ 18:05

    $postdata kann von Type String oder vom Type Array sein.
    String -> ’name=value&name2=value2′
    Array -> array(’name‘ => ‚vaule‘, ’name2′ => ‚value2‘)

    Die Parameter für get_curl:

    /**
    * @param string $url
    * @param string|array $post (optional)
    * @param bool $cookie (optional)
    * @param bool $header (optional)
    * @param array $opt (optional)
    * @return mixed
    */
    protected function get_curl($url, $post = null, $cookie = true, $header = false, $opt = null)

  32. Shang Tsung sagt

    am 23. Januar 2012 @ 19:58

    Hello:

    When I upload using your Class, it works, but the file isn’t uploaded to my account. I’m doing this:

    require_once(„./api/Uploadedtoapi.php“);
    $upconn = new Uploaded();
    // Login
    if (!$upconn->login($utouser, $utopass))
    {
    print „Login failed!\n“;
    exit;
    }

    $uploadInfo = $upconn->upload(„sometestfile.jpg“);
    if ($uploadInfo === false)
    {
    print „Upload failed!\n“;
    exit;
    }
    else
    {
    print „Upload success!\n“;
    print „File-ID: „. $uploadInfo[‚id‘] . „\n“;
    print „EditKey: „. $uploadInfo[‚editKey‘] . „\n“;
    }

    This works and I get File-ID and EditKey, but the file is not in my account. It is being uploaded as an anonymous user 🙁

  33. admin sagt

    am 24. Januar 2012 @ 00:02

    Hello,

    I need more information: OS, PHP Version, Uploaded.to API etc.

    Please add error_reporting(E_ALL) and send me the error.

    For me, everything works

  34. tom sagt

    am 25. Januar 2012 @ 21:15

    Can you download as premium user?
    Just with URL

  35. bronko sagt

    am 27. Januar 2012 @ 17:08

    Beim Upload kommt bei mir immer „400 Bad Request“ von uploaded zurück. Gleichgültig, ob ich das Free oder als Premiumuser uploaden möchte. Habs mit den Versionen 0.3 und 0.4 getestet. Als Testumgebung dient mir ein Xampp-Server mit PHP Version 5.3.8 und das ganze läuft auf Win7.

  36. admin sagt

    am 1. Februar 2012 @ 08:26

    Hallo bronko,

    das könnte man MIME Type liegen.

    Ändere mal bitte die Zeile 186 in ‚Filedata‘ => ‚@‘.$rf);
    danach sollte es funktionieren.

  37. Jazz sagt

    am 4. Februar 2012 @ 18:52

    Funktioniert Free-User-Download?

  38. admin sagt

    am 9. Februar 2012 @ 01:06

    Der Download funktioniert im Moment nur für Premium-User.

  39. Tammo sagt

    am 9. Februar 2012 @ 22:20

    Der Remoteupload geht nur begrenzt.
    Das File landet zwar in meinem Account aber die Ausgabe sagt
    Upload erfolgreich!
    File-ID:
    EditKey:

    login_check())
    echo „Login erfolgreich „;

    $info = $up->add_remote_upload(‚****‘); //Gibt im Erfolg File-ID und EditKey zurück

    if($info !== false)
    {
    echo „Upload erfolgreich! „;
    echo „File-ID: „.$info[‚id‘].““;
    echo „EditKey: „.$info[‚editKey‘].““;
    }
    else
    {
    echo „Upload fehlgeschlagen“;
    }
    ?>

  40. admin sagt

    am 10. Februar 2012 @ 09:36

    Hallo,

    das liegt daran das die Funktion add_remote_upload() nur einen booleschen Wert (true | false) zurück gibt.
    true = Auftrag hinzugefügt
    false = Auftrag abgelehnt

    Beispiel:

    if($up->add_remote_upload(„****“))
    {
    echo „Remote Upload hinzugefügt“;
    }
    else
    {
    echo „Remote Upload wurde nicht hinzugefügt“;
    }

  41. Bull sagt

    am 12. Februar 2012 @ 23:21

    Hey,

    dank der API habe ich mir ne Menge arbeit erspart, schonmal ein riesiges Danke an der Stelle =)

    Eine Frage habe ich aber noch:
    Ich kriege es einfach nicht hin einen Rückgabewert bei $up->get_files() zu bekommen 🙁

    Hier mein Code:
    require_once ‚/lib/Uploaded.php‘;
    $up = new Uploaded(‚$id‘, ‚$pw‘);

    if(!$up->login_check())
    {
    die(„Login fehlgeschlagen!“);
    }

    echo $up->get_files(‚filename‘, ‚test.wmv‘, ‚id‘);
    ?>

    Ich kriege keinen Fehler ausgegeben, sondern einfach gar keine Ausgabe 🙁

    Wäre cool wenn du mir sagen könntest was ich falsch mache.

  42. admin sagt

    am 14. Februar 2012 @ 21:28

    Hallo Bull,

    freut mich zu hören 🙂

    Zu deinem Fehler:

    die Funktion get_files gibt im Fehlerfall false zurück (echo gibt dies aber nicht aus).

    Wenn die Funktion false zurück gibt kann das folgendes bedeuten:
    – File-Liste konnte nicht geladen werden (unwahrscheinlich)
    – 1. Parameter gibt es in der File-Liste nicht (Sollte bei dir nicht zutreffen)
    – 2. Parameter gibt es in der File-Liste nicht (Bei dir könnte es sein das der Dateiname „text.wmv“ nicht existiert)
    – Allgemein wenn ein Parameter in der File-Liste nicht gefunden werden konnte

    Teste bitte einmal:
    var_dump($up->get_files());
    Überprüft bitte in der Ausgabe (am besten in der Quelltextansicht) ob es den filename text.wmv gibt.

  43. Bull sagt

    am 14. Februar 2012 @ 23:27

    Hey,

    danke für die schnelle Antwort.

    Ich habe mal den Test gemacht mit
    var_dump($up->get_files());
    und als Ausgabe bekam ich nur:
    bool(false)

    Funktionen wie aber get_acc_status() funktionieren ohne Probleme, an falschen Login Infos kann es also nicht liegen.

  44. admin sagt

    am 15. Februar 2012 @ 02:50

    Mh okay, jetzt brauch ich mehr Infos: OS, API Version, Browser, PHP Version.

    mfg
    Julius

  45. Bull sagt

    am 15. Februar 2012 @ 21:20

    Klar, kann ich dir gerne geben 😉

    OS: Windows 7
    API: 0.4
    Browser: Firefox 10.0.1
    PHP Version 5.3.5 (XAMPP)

  46. admin sagt

    am 16. Februar 2012 @ 01:12

    Mh, ich kann mir das nicht erklären. Hab es gerade noch mal auf 3 verschieden Rechner getestet.

    – Bist du dir sicher das du auch Dateien in der Liste hast? (Mal auf der Webseite Uploaded.to testen)
    – Andere Funktionen wie upload(), create_folder() usw. funktionieren?

    mfg
    Julius

  47. Bull sagt

    am 16. Februar 2012 @ 12:25

    Hey,

    ja ich habe über 100 Dateien in der Dateiliste auf Uploaded.to

    Die Funktion zum hinzufügen von RemoteUploads klappt problemlos, genauso wie get_account_status, nur get_files in jeglicher Kombination (mit und ohne Filter) funktioniert nicht 🙁
    Habe es auch schon direkt aus der Demo1.php heraus getestet. (kleiner Hinweis am Rande: in der Demo1.php ist ein kleiner Buchstabendreher bei $up->get_files() )
    Ich werde mich morgen nochmal damit beschäftigen.
    Danke schonmal so weit!

  48. admin sagt

    am 19. Februar 2012 @ 06:03

    Ich habe soeben 300 Dateien in meinen Account hochgeladen. Keine Probleme, außer dass er nur 100 Dateien anzeigt. Das habe ich in Version 0.5 (kommt bald) geändert.

    Schreib mich am besten mal über das Kontaktformular an dann können wir uns vll über ICQ verständigen.

    mfg
    Julius

  49. weslley sagt

    am 22. Februar 2012 @ 04:12

    Ich frage mich, wo ich den Login und das Passwort hochgeladen setzen?

    geschützt $ user_id =“;
    protected $ user_pw =“;
    protected $ auth_str =“;
    protected $ cookie_str =“;
    login_status geschützt $ = false;
    acc_status geschützt $ = false / / false = frei | Prämie = true

  50. admin sagt

    am 22. Februar 2012 @ 07:22

    Hallo,

    mit der Methode login(‚USER-ID‘, ‚User-PW‘)

    siehe demo/file_upload_premium_user.php

    $up = new Uploaded();

    //Login
    if(!$up->login(‚USER-ID‘, ‚User-PW‘))
    {
    die(„Login fehlgeschlagen!“);
    }

  51. weslley sagt

    am 22. Februar 2012 @ 15:03

    ja, in welcher Datei einfügen Ich meine Benutzer-ID und Passwort?

    ist in Uploaded.php?

    Wenn ja, WAS ICH MIT DEM FELD füllen Benutzer und Passwort.

    Danke.

  52. weslley sagt

    am 22. Februar 2012 @ 17:22

    consegui fazer funcionar 😀

    incrementei uma função que convert o trafego restante em GB e MB,

    $trafego = $info[‚traffic‘];

    function ByteSize($bytes)
    {
    $size = $bytes / 1024;
    if($size < 1024)
    {
    $size = number_format($size, 2);
    $size .= ' KB';
    }
    else
    {
    if($size / 1024 < 1024)
    {
    $size = number_format($size / 1024, 2);
    $size .= ' MB';
    }
    else if ($size / 1024 / 1024 < 1024)
    {
    $size = number_format($size / 1024 / 1024, 2);
    $size .= ' GB';
    }
    }
    return $size;
    }
    print 'Trafego: ' .ByteSize($trafego). '‘;

  53. Spirou sagt

    am 23. Februar 2012 @ 02:19

    Hi admin,

    wollte kurz mal fragen ob du meine Mail zwecks java script (drüber schauen) beommen hast.

    würde mich freuen eine kurze info zu bekommen.

    Danke!

  54. admin sagt

    am 23. Februar 2012 @ 23:19

    Ich habe deine E-Mail gekommen, habe dich auch schon in ICQ angeschrieben 🙂

    PS:

    Die Umsetzung in Java ist fast fertig.

  55. Spirou sagt

    am 24. Februar 2012 @ 00:42

    Super, hab ich grade gesehen und geantwortet..
    muss dazu sagen das ich extrem Nachtaktiv bin, also ich bin so ab 18:00 Uhr bis ca. 08:00 Uhr am Rechner.

    Icq hab ich allerdings auf dem iPad und kann sein das ich es nicht sofort mit hekomme.. aber nun achte ich besonders drauf

  56. admin sagt

    am 26. Februar 2012 @ 19:33

    Uploaded.to API Script Version 0.5 freigeben. Wichtiger Bugfix

    Java Version ist nun verfügbar -> http://www.it-gecko.de/uploaded-to-api-java.html

  57. Ha4zor sagt

    am 28. Februar 2012 @ 20:23

    Hi Admin
    habe Problem mit deiner API.
    Ich habe den Upload für Premium User genommen. Mein Account ist aber ein Free Acc ich hoffe das es nicht daran liegt.
    Nach dem Upload erhalten ich nur:
    Upload auf Uploaded.to erfolgreich!
    File-ID: anonymous fileuploads are forbidden.
    EditKey: kinuyi

    Wäre Super wenn du mir mal deine ICQ schickst, da dein Kontaktformular scheinbar nicht funktioniert habe es 4 mal versucht dich anzuschreiben.

    Grüße
    PS: meine Mail Addy siehst du ja

  58. Lukas sagt

    am 28. Februar 2012 @ 23:12

    Hallo,
    ich wollte nur, der vollständigkeit halber, weslleys Post übersetzen:

    Ich habe es geschafft, es zum Laufen zu kriegen.

    Ich habe eine Funktion hinzugefügt, die den verbleibenden Traffic in MB und GB übersetzt.

    (code siehe ein Paar Posts hier drüber)

    @weslley: É só uma tradução do seu post 😀

  59. admin sagt

    am 29. Februar 2012 @ 01:39

    @Ha4zor
    Hab dir eine E-Mail geschickt.

    „anonymous fileuploads are forbidden.“ bedeutet das irgendwas mit deinen Logindaten nicht stimmt.

    Das Premium Beispiel ist für registrierte Benutzer egal ob Status Free oder Premium.

    @Lukas
    Danke Lukas, selbst Google Translate wollte es mir nicht richtig übersetzten. Was für eine Sprache ist das Portugiesisch?

    @All

    Sehe gerade das Uploaded.to jetzt einen neuen Errorcode bei falschen Logindaten zurück gibt.
    Wer nicht bis zum nächsten Release warten kann sollte:
    Zeile 53 in if(preg_match(‚#.‘.preg_quote(‚{„err“:‘).’#si‘, $res))
    ändern

  60. mounir sagt

    am 3. März 2012 @ 02:38

    Thank you 🙂 very helpful

  61. Lukas sagt

    am 5. März 2012 @ 22:11

    Hey nochmal,

    ja, das war Portugiesisch 🙂

    Sachma, bei mir klappt Zeile 211 der Version 0.5 nicht mehr, die Bedingung nicht mehr eintritt:

    preg_match(‚#filename=\“(.*?)\“#mi‘, $file_header, $matches)

    Die angecurlte URL im Browser aufgerufen, zeigt sich, dass ul.to nicht mehr mit einem Redirect „antwortet“, sondern die URL unverändert lässt… Hat jemand eine Idee?

  62. admin sagt

    am 7. März 2012 @ 03:41

    Hallo Lukas,

    danke für deinen Hinweis.

    In Version 0.6 sollte wieder alles wie gewohnt funktionieren.

  63. Lukas sagt

    am 8. März 2012 @ 08:46

    Mahlzeit schon wieder.
    Leider stimmte deine Regex noch nicht ganz. Da der Downloadserver sich ändert, habe ich die betroffene Zeile geändert in:

    if(!preg_match(„#http://stor\d+?.uploaded.to/dl/([0-9a-z]+)#“, $page, $machtes))

    Außerdem habe ich mir eine Methode gebastelt, mit der ich die Verfügbarkeit einer Datei verfügbar ist, indem ich auf 404-Fehler überprüfe. Würde mich freuen, die Methode in einer zukünftigen Version wiederzufinden 🙂

    /**
    * Überprüft eine Datei auf Verfügbarkeit
    *
    * @param string $file_id File-ID
    *
    * @return boolean
    */
    public function isFileAvailable( $file_id ) {
    $file_header = $this->get_curl(‚http://uploaded.to/file/‘.$file_id.’/ddl‘, null, true, true, array(CURLOPT_NOBODY => true, CURLOPT_FOLLOWLOCATION => true ));

    if( preg_match(„#404 Not Found#“, $file_header) ) return false;

    return true;
    }

  64. admin sagt

    am 8. März 2012 @ 14:24

    Hallo Lukas,

    danke für deinen Hinweis.

    Leider ist mir hier ein kleiner Fehler unterlaufen. Ich habe den richtigen Regex Ausdruck in PHP geschrieben und getestet. Aber leider habe ich danach den falschen bzw. unvollständigen Regex Ausdruck aus dem Java Projekt ins PHP Projekt kopiert.
    AUA!
    Wie heißt es so schön: Augen auf im Straßenverkehr.

    Supi Lukas, deine Funktion werde ich sofort mit einbauen.
    Danke schön

    Neu wird auch noch sein
    -> get_last_error()
    -> get_last_errno()

  65. Thomas sagt

    am 27. März 2012 @ 10:06

    Hallo,
    erst mal vielen Dank für dieses super übersichtlich aufgebaute Script, hat mir sehr geholfen!

    Da mir auch einige Kommentare hier weiter geholfen habe, wollte ich auch kurz meine Hilfe mit anbieten.
    Zwei Dinge sind mir aufgefallen:
    1. Es sind einige Buchstaben Dreher von Matches->Machtes drin. Also wer evtl. Probleme mit dem Script hat sollte erst mal an der Stelle versuchen auszubessern.

    2. Sollte man in seinem UL Account die Direktdownload Funktion aktiviert haben, funktioniert das Script so wie es ist nicht. Abhilfe würde dieser von mir angepasste Code schaffen. Evtl kann er ja so vom Admin in der nächsten Version mit eingebaut werden:

    public function download($file_id, $path)
    {
    if(false === $rf = realpath($path))
    return false;
    //Hier wird zuerst der Header vom Link abgefragt
    $file_header = $this->get_curl(‚http://uploaded.to/file/‘.$file_id.’/ddl‘, null, true, true, array(CURLOPT_NOBODY => true));

    //Sollte er den Download Link bereits im Header unter
    //Location finden überspringt er ein paar Schritte
    //und geht gleich weiter zur Überprüfung des Filenames
    if(preg_match(‚#http://stor\d+?.uploaded.to/dl/([0-9a-z]+)#mi‘, $file_header, $matches)) {
    $url = $matches[0];
    }
    else {
    $page = $this->get_curl(‚http://uploaded.to/file/‘.$file_id.’/ddl‘);

    if(!preg_match(„#http://stor\d+?.uploaded.to/dl/([0-9a-z]+)#“, $page, $matches))
    {
    return false;
    }
    $url = $matches[0];
    }

    $file_header = $this->get_curl($url, null, true, true, array(CURLOPT_NOBODY => true));
    //Ab hier geht es weiter wie gehabt bis zum Ende der Funktion

    Würde mich freuen wenn es der Schnippsel in die nächste Version schaffen würde.
    Schöne Grüsse!

  66. admin sagt

    am 29. März 2012 @ 02:52

    Lang hat es gedauert aber nun ist die Version 0.7 endlich fertig 🙂

    Neu sind die Funktionen:
    – is_file_available($file_id)
    – get_last_error()
    – get_last_errno()
    Die Bedeutungen stehen oben im Changelog.

    Die Probleme beim Upload habe ich beseitigt. Normalerweise ist das Passwort mit SHA1 gehasht aber bei einigen scheint das nicht der Fall zu sein. Daher greif ich jetzt das gehashte PW von der UP-Seite ab. Damit sollte jetzt alles funktionieren.

    Überarbeitet sind auch die Demos:
    – file_up.load_premium_user.php
    – download_file.php
    Sie zeigen jetzt die Verwendung von get_last_error() und get_last_errno()

    Die Funktion is_file_available wird automatisch bei der Funktion download() mit aufgerufen.

    @Lukas
    Wie versprochen habe ich deine Funktion eingebaut.
    Danke dir

    @Thomas
    Freut mich das es dir gefällt.

    zu 1. Hab jetzt alles in matches geändert. Keine Ahnung was mich da mal wieder geritten hat.

    zu 2. Danke für den Hinweis.
    Habe die Funktion etwas verändert eingebaut. Ich lass einfach Header und Body ausgeben. Preg_match sucht sich dann schon das richtig raus.

    Danke dir

    LG
    Julius

  67. Thomas sagt

    am 29. März 2012 @ 04:04

    Hi nochmal,
    hab gleich die neue Version geladen, schön dass es die neue Funktion auch rein geschafft hat.
    Aber hab auch gleich wieder einen Fehler gefunden.
    „is_file_available called to undefined function“

    Zeile 254 muss in

    if(!$this->is_file_available($file_id)) {

    geändert werden. Das $this hat hier gefehlt.
    Ansonsten tolle neue Funktionen drin.

  68. admin sagt

    am 29. März 2012 @ 04:12

    wow das ging schnell.

    Danke für den Hinweis. Habs gleich geändert musst einfach die 0.7 nochmal Laden. Hab jetzt nicht extra eine neue Versionsnummer genommen.

    Ich hoffe ich habe jetzt nicht noch irgendwo $this vergessen. So ergehts einen wenn man zwischen Java, PHP und C hin und her springt^^.

  69. Ingo sagt

    am 4. April 2012 @ 19:53

    Hallo,

    also erstmal dickes Danke für die schöne Arbeit!
    Nun habe ich aber seit 4.4.12 das problem wenn ich Downloade das er mir ansagt „5 Dateiname konnte nicht ermittelt werden“ worann kann das liegen vor 2 tagen ging es noch

    Mit freundlichen Grüßen
    Ingo

  70. admin sagt

    am 4. April 2012 @ 22:15

    Freut mich das es dir gefällt.

    Uploaded hat wohl mal wieder ihr System umgestellt.
    Leider hab ich zur Zeit kein Premiun Account das ich es testen könnte.

    Aber wie ich es sehe ist die Download URL anders (intern)

    Ändere mal bitte in Uploaded.php Zeile 258:
    if(!preg_match(„#http://stor\d+.uploaded.to/dl/([0-9a-z]+)#mi“, $page, $matches))

    in

    if(!preg_match(„#http://stor\d+.uploaded.to/dl/([0-9a-z-]+)#mi“, $page, $matches))

    Neu ist der Bindestrich.

    Ich würde mich freuen wenn du berichten könntest ob es funktioniert. Dann kann ich eine neue Version hochladen.

    LG
    Julius

  71. Ingo sagt

    am 5. April 2012 @ 01:54

    Ja es Funktioniert wunderbar.

    Danke dir

    LG
    Ingo

  72. Ingo sagt

    am 8. April 2012 @ 20:13

    Hallo,

    wäre es möglich das sie hier ein Uploaded.to
    Status Plugin Veröffentlichen könnten für das ugcms?

    würden uns freuen

    Gruss Ingo

  73. admin sagt

    am 9. April 2012 @ 15:17

    Danke für die Info Ingo.

    Version 0.8 ist der neue Downloadserver – Regex eingebaut

    Was meinst du mit UGCMS?
    Da müssen Sie mich mal aufklären 🙂

    LG
    Julius

  74. Ingo sagt

    am 10. April 2012 @ 11:33

    Hallo Julius,

    dies ist das UGCMS: http://www.magazin-ddl.info/?p=about
    der status wird bei ul.to abgefragt und der file als online bzw offline angezeigt bzw in den meisten fällen Status: unbekannt.

    Würde mich freuen wenn sie sich per e-mail mal melden.

    Gruss Ingo

  75. admin sagt

    am 10. April 2012 @ 13:28

    Bitte kontaktieren Sie mich über das Kontaktformular mit allen nötigen Infos.

    LG
    Julius

  76. ingo sagt

    am 13. April 2012 @ 21:00

    Hallo Julius,

    versuche seit längerer Zeit
    übers Kontakt Formular zu senden nur sagt er mit ständig:
    „Die Nachricht konnte nicht gesendet werden. Bitte versuchen Sie es noch einmal zu einem späteren Zeitpunkt oder informieren Sie den Administrator.“

    LG

    Ingo

  77. admin sagt

    am 14. April 2012 @ 22:37

    Ok danke, muss ich mich mal drum kümmern.

    Deine E-Mail kannst du dann webmaster[at]it-gecko.de schicken.

  78. ingo sagt

    am 15. April 2012 @ 05:37

    hatte gestern übers kontaktformular noch ihnen alle infos gesendet

  79. admin sagt

    am 23. April 2012 @ 03:18

    Version 0.9 freigeben!

    Die Uploaded.to API bietet nun Unterstützung für die Privatsphäre-Einstellungen der Dateien.
    Siehe dazu Changelog.

    @ingo
    Sry ich kam noch nicht dazu dir zu antworteten.

    LG
    Julius

  80. ingo sagt

    am 23. April 2012 @ 19:07

    rennt ja nicht weck 😉

  81. admin sagt

    am 20. August 2012 @ 14:53

    Version 0.10 freigegeben
    – Umstellung auf Uploaded.net

    LG
    Julius

  82. admin sagt

    am 23. August 2012 @ 12:35

    Version 0.11 freigegeben
    – Siehe Changelog

    LG
    Julius

  83. Failk sagt

    am 26. September 2012 @ 16:12

    Hello, when I try to upload a „big“ file (>300Mb), I have the error :

    Upload fehlgeschlagen 6: Logindaten sind falsch: „anonymous fileuploads are forbidden.“

    While my login informations are correct and I don’t have the error „Login fehlgeschlagen!“ on login. (I’m a Premium user)

  84. admin sagt

    am 26. September 2012 @ 19:54

    Hello,

    please use the new version 0.12.

    Julius

  85. Failk sagt

    am 26. September 2012 @ 21:35

    Same problem with the 0.12, the return of the upload is „forbidden“, and I’ve made some tests, it’s just with the .avi, with a .rar I don’t have any problems !

  86. Lukas sagt

    am 26. September 2012 @ 22:18

    Hey,

    Habe das Script heute nach längerem mal wieder aktiviert – vornehmlich zum Downloaden. Vielen Dank für’s ständige aktuell halten!!

    Dabei ist mir aufgefallen, dass es ganz arg praktisch wäre, beim Downloaden an den Dateinamen der soeben heruntergeladenen Datei zu kommen. Bisher habe ich immer in Dein Script folgendes reingehackt (in der Version 0.12 Zeile 315)

    if ( true === $res ) {
    return $file;
    }

    Aber womöglich geht das auch konsistenter (z.b. als Funktion „get_last_downloaded_filename“ oder so?)

    Was hältst du davon?

    Lg Lukx

  87. admin sagt

    am 26. September 2012 @ 22:27

    I can not reproduce the error. I tested rar, avi and wave files (> 300 MB).

    I need more information:
    – Server OS
    – PHP version

    Upload over the page works?
    Can you send me the file?

  88. Failk sagt

    am 26. September 2012 @ 22:33

    I’ve :

    – Debian 6.0 32 Bits
    – PHP 5.3.3-7

    The file I tried to upload is : ****

    If you don’t rar it you can’t upload it, but if you rar it, there is no problem.

    It’s possible Uploaded.to ban md5 ?

  89. admin sagt

    am 26. September 2012 @ 22:56

    >It’s possible Uploaded.to ban md5 ?
    I do not know.
    Have you tried other avi files?

    I test your file.

  90. Failk sagt

    am 26. September 2012 @ 23:09

    I’m trying, and thanks to help me !

  91. Failk sagt

    am 26. September 2012 @ 23:27

    Same with another .avi (700Mb)

  92. admin sagt

    am 26. September 2012 @ 23:52

    The MD5 hash of the file is prohibited. I changed 1 bit and then it goes.

    Uploaded.net has a md5 blacklist. Sry

  93. Failk sagt

    am 27. September 2012 @ 00:02

    OK, Thanks ! I’ve made tests, with FTP Upload, there is no MD5 test !

  94. admin sagt

    am 27. September 2012 @ 00:10

    np 🙂

    Yes, but the files can be deleted later.

  95. Patschi sagt

    am 30. September 2012 @ 22:11

    Danke für die super API! Würde mir eine Funktion wünschen, womit man die Downloadanzahl einer ID (eigene Datei) auslesen kann. Danke nochmal für die super API 🙂

  96. admin sagt

    am 30. September 2012 @ 22:31

    Hallo,

    vielen Dank 🙂 Das freut mich.

    Die Downloadanzahl kannst du auslesen:

    $info = $up->get_files(‚id‘, ‚File-ID‘, 0);
    $info->dls // Downloadanzahl

    LG
    Julius

  97. Patschi sagt

    am 1. Oktober 2012 @ 17:35

    Danke! 🙂

    Gibt es evtl. auch noch eine Möglichkeit, gesperrte Dateien hochzuladen? Evtl. eine PHP Funktion zum umändern eines Bits?

  98. admin sagt

    am 1. Oktober 2012 @ 18:46

    Meinst du so etwas?

    $h = fopen(„datei.avi“, „a+“);
    fputs($h, „a“);
    fclose($h);

    Dabei wir an eine Datei ein „a“ angehängt. Daraus resultiert dann ein anderer MD5-Hash.

  99. Patschi sagt

    am 2. Oktober 2012 @ 01:41

    So in der Richtung. Wird dadurch die Datei beschädigt oder geht die weiterhin? Danke vielmals für deine gute Arbeit! 🙂

    Hab mir bereits schon was schönes gebastelt:
    http://img6.imagebanana.com/img/aen243bm/20121002_0138.png

    Die Zahl „207“ ist die Anzahl, wie oft die Datei von ul.to heruntergeladen wurde – deshalb hatte ich vorhin darum gefragt 🙂

    Man kann damit mit Premium herunterladen und über meinen Server dann mit Full-Speed. Oder auch die Datei von meinen Server erneut auf ul.net, wo man dann einen mirror bekommt.

  100. admin sagt

    am 2. Oktober 2012 @ 10:16

    Die Funktion funktioniert so nicht. Wollte nur wissen ob du das meinst 🙂

    Die Funktion hier funktioniert:

    $h = fopen(‚datei.avi‘, ‚a+‘);
    fwrite($h, „\x00“);
    fclose($h);

    Dabei wird ein binäre 0 an die Datei angehängt (Padding). Dadurch wird der MD5 Hash manipuliert. Aber ich würde denn noch vorsichtig sein, denn immerhin wird die Quelldatei manipuliert.

    Schöne Projekt 🙂 und schön zu sehen, dass die Library in der Praxis eingesetzt wird.

    LG
    Julius

  101. Patschi sagt

    am 3. Oktober 2012 @ 22:32

    Naja, wenn es so eine super API dafür gibt, muss man ja was draus machen 🙂
    *schleim* 😀

    Ich hätte dennoch noch einen Verbesserungsvorschlag:
    Meine Seite prüft auch zusätzlich nach, ob der Account Premium ist. Wenn nicht, wird eine Fehlermeldung ausgegeben. Das Problem vor einigen Wochen/Monaten war jedoch, dass ul.net Wartungsarbeiten gemacht hatte und das als „Nicht-Premium“ angesehen wurde. Entweder ich habe dafür eine Funktion nicht richtig verwendet oder es gibt keine eigene Ausgabe, wenn ul.net Wartungsarbeiten hat.

  102. admin sagt

    am 11. Oktober 2012 @ 18:02

    🙂

    Stimmt dafür gibt es noch keine Funktion / Fehlermeldung. Ich muss mich darum mal kümmern wenn ich wieder zu Hause bin.
    Weißt du zufällig wie sich diese Wartungsarbeiten äußern? Also ob zum Beispiel im HTML CodeWartungsarbeiten steht? Das könnte nämlich schwierig werden das heraus zu finden, da es von Uploaded.net keine öffentlich dokumentiere API gibt und mein API-Skript greif ja auch nicht auf das Frontend UP.net zu, um dort irgendwo nach „Wartungsarbeiten“ zu suchen.

    LG
    Julius

  103. admin sagt

    am 16. Oktober 2012 @ 11:57

    Version 0.13 ist nun verfügbar.
    Infos stehen im Changelog.

    LG
    Julius

  104. Patschi sagt

    am 17. Oktober 2012 @ 01:25

    Was genau steht, kann ich leider nicht sagen. Jedenfalls ist dort ein kurzer HTML Code mit dem Wort „Wartungsarbeiten“ 😀

  105. Karsten sagt

    am 18. Oktober 2012 @ 18:52

    Hey 🙂

    Ich bin grade selber dabei mir eine kleine API für Uploaded.net zu schreiben, in Python. Hatte dass vor einem Jahr schon mal gemacht, ohne Proble.
    Jetzt hänge ich an der Import-Funktion, da mir ein Aufruf von http://uploaded.net/io/import mit einer Url nur Quatsch zurück liefert. Damals hat es, glaube ich, eine Liste mit den neuen URL’s zurück geliefert.

    Muss ich jetzt ernsthaft den Umweg über Dateiname rausfinden->in meinen Dateien suchen->Link regexen?

  106. admin sagt

    am 20. Oktober 2012 @ 19:01

    Hey,

    sry für die Verspätung aber dein Kommentar wurde durch den Spamfilter abgefangen.

    Diesen Umweg musst du nicht gehen.

    Einfach http://uploaded.net/io/import aufrufen und als Post du URLs übergeben. (key = urls; value = urls (eine pro Zeile))

    Der Rückgabewert ist in JSON codiert. Dieser enthält die alte File-ID, neue File-ID, Filename, Filesize und gegeben falls ein „err“ <- Error Meldung. Wenn du mehrere URLs abgeschickt hast dann sind die Antworten durch ein Komma getrennt. Siehe dazu am besten meinen Quellcode an. Ich hoffe ich konnte dir weiterhelfen. LG Julius

  107. Karsten sagt

    am 23. Oktober 2012 @ 12:49

    Ich bin im Spamfilter gelandet? o.O

    Okay, Problem hat sich gelöst. Ich hatte den Header Accept-Ecoding auf gzip gesetzt. Logisch dass man dann mit bloßem Auge nichts erkennen kannt.

    Trotzdem danke für deine Hilfe 🙂

  108. Kuli sagt

    am 1. November 2012 @ 21:08

    Hey,
    http://nopaste.info/43516c1514.html <- So kann man die Uploaded.net Wartungsarbeiten erkennen 😉

    Was ich noch gut fänd wenn man es irgendwie realisieren könnte den Uploadfortschritt auszugeben. Hab aber nicht so wirklich ne Idee, wie man das machen könnte..

    Trotzdem super Script! Danke 🙂

  109. usrb1n sagt

    am 7. November 2012 @ 15:26

    Hello, where can I get the auth_str ? I still getting loggin failed and I’m not sure what to do. I will use this on a script to auto-list my files (I don’t really need upload feature, I just want to be able to login and get the my files links).

  110. admin sagt

    am 8. November 2012 @ 21:00

    @Kuli

    Danke für dein Link aber leider bringt er mir nicht so recht viel. Denn meine Library greift nicht auf das Frotend zu. Aber ich bin an einer Lösung dran.

    Mit dem Upload/Download Fortschritt ist eine gute Idee. Ich lass mir da mal was einfallen (Hab schon eine kleine Idee).

    @usrb1n
    auth_str = &id=USERID&pw=HASH(PW)
    Please, login with User-ID not with alias.
    What return ​​last_error()?

    LG
    Julius

  111. leto sagt

    am 12. November 2012 @ 15:40

    Uploaded hat eine kleine Änderung an der Namensgebung ihrer Downloadserver vorgenommen, entsprechend kann es vorkommen, dass der RegEx in get_download_infos() (Zeile 317) nicht mehr greift. Mit minimaler Anpassung klappt es aber wieder:

    #http://[0-9a-z\-]*stor\d+.uploaded.net/dl/([0-9a-z-]+)#mi

    hat bisher alle neuen Server für mich eingefangen.

    Vielen Dank für die API, hat die Umstellung von Rapidshare auf Uploaded doch um einiges stressfreier gestaltet 🙂

  112. leto sagt

    am 12. November 2012 @ 15:53

    Ein kleiner Nachtrag wg. Fortschrittsangabe: An sich ist das via CURLOPT_NOPROGRESS und CURLOPT_PROGRESSFUNCTION kein Problem. NOPROGRESS auf FALSE setzen und den Namen einer Callback-Funktion bei PROGRESSFUNCTION übergeben, dann wird ebendiese immer aufgerufen, wenn curl einen Buffer voll gelesen hat.

    Im Stil von Konsolenprogrammen Punkte ausgeben lassen ist also machbar, auch wenn man da teilweise in Probleme mit PHPs output bufferingt läuft. Wenn man das Ganze aber über Zähler etwas bremst (nur jedes 200. Mal ausgeben o.Ä.) geht auch das gut.

    Nerviger werden %-Ausgaben, weil man da jeweils die vorige Ausgabe überschreiben muss. Bisher mache ich es so, dass ich den ganzen Transfer clientseitig über einen AJAX-Aufruf starte und mir von der Progressfunction den aktuellen %-Stand in eine JSON-Datei schreiben lasse. Die Frage ich dann wiederum clientseitig einfach regelmäßig ab und aktualisiere mit Javascript die Anzeige entsprechend.

    Die Lösung eins davor war ohne AJAX, da hat die Progressfunction einfach normale Javascriptblöcke ausgegeben, die dann auf der aktuellen Seite den jeweiligen Stand ausgeben. JSONP für Arme, sozusagen.

    Für sinnvollere Versionen bin ich ganz Ohr, wobei die JSON-Version mittlerweile recht gut funktioniert und vor allem bei sowieso AJAX-basierten Interfaces praktisch ist.

  113. admin sagt

    am 12. November 2012 @ 19:56

    Vielen Dank für die Info. Ich werde morgen früh direkt ein Update bringen.

    Zu der Fortschrittsangabe:
    In etwa genauso hab ich mir das auch überlegt. Ich werde in laufe der Tage mal meine Version veröffentlichen.

    Leider habe ich keine Premium Account mehr, was das Testen etwas erschwert^^

    LG
    Julius

  114. admin sagt

    am 14. November 2012 @ 18:19

    Version 0.15 freigeben.

    Im Changelog stehen alle Änderungen.

    Ich habe auch ein komplettes Projekt mit hinzugefügt. Wie man die neue Progress-Handler-Funktion nutzen kann, um den Fortschritt eines Download oder Uploades an zu zeigen.

    LG
    Julius

  115. Patschi sagt

    am 14. November 2012 @ 21:50

    Kann man die zu downloadende Datei auch direkt an den Benutzer ausgeben oder diese am Server zwischenspeichern zu müssen?

  116. admin sagt

    am 15. November 2012 @ 11:07

    Hi,
    ja das ist mit der neuen Version 0.15 bzw. 0.16 möglich.

    Beispiel:

    //Sollte überall gehen
    $opt = array(UP_FILE_HANDLER => false);
    $up->download(‚File-ID‘, null, $opt);

    //Funktioniert icht auf jeden System
    $fp = fopen(‚php://stdout‘, ‚w‘);
    $opt = array(UP_FILE_HANDLER => $fp);
    $up->download(‚File-ID‘, null, $opt);

    //Konsole
    $opt = array(UP_FILE_HANDLER => STDOUT);
    $up->download(‚File-ID‘, null, $opt);

    LG
    Julius

  117. Patschi sagt

    am 15. November 2012 @ 12:55

    Okay, danke. Dann werde ich mal mein derzeitiges Ul.net Downloadscript ganz überarbeiten, damit ich das nicht mehr am Server speichern lassen muss 🙂

    Danke für die tolle Arbeit! 🙂

  118. admin sagt

    am 15. November 2012 @ 13:08

    Bitte bitte 🙂

    Beachte aber bitte das die Funktion „download“ im Fehlerfall trotzdem noch false zurück liefern kann.

    Am besten erstmal etwas rum experimentieren, vor du deine ganzen Skripte änderst.

    LG
    Julius

  119. Patschi sagt

    am 15. November 2012 @ 19:19

    Hab das Script mal fertig gebastelt, funktioniert bei mir bisher ohne Probleme 🙂

    Screenshot:
    http://img.pkern.at/uploadednet_downloader.png

    Wer den Source haben möchte: (natürlich ohne ul.net Account :D)
    http://dl.pkern.at/uploadednet_downloader.zip

    Ich gebe aber keine Garantie bzgl. Funktionsfähigkeit. Vorschläge sind willkommen 🙂

  120. Dlll sagt

    am 25. November 2012 @ 16:42

    Hi,

    what part do I need to edit to use file_upload_free.php?

  121. admin sagt

    am 2. Dezember 2012 @ 21:06

    What?

    Version 0.17 veröffentlicht.
    – siehe Changelog

  122. admin sagt

    am 9. Dezember 2012 @ 14:03

    Version 0.18 veröffentlicht.
    – Fehler in der Funktion is_file_available() in Verbindung mit direkt Downloads behoben

  123. mimo sagt

    am 6. Januar 2013 @ 02:24

    Ich bekomme bei bei dem demo1 script beim upload immer als Ergebnis „forbidden“… und beim Einloggen nimmt er meine Benutzerdaten nicht an, obwohl sie korrekt sind

  124. admin sagt

    am 8. Januar 2013 @ 16:55

    Das „forbidden“ kommt meistens wenn du eine Datei hochlädst, die bei Uplaoded.net auf der Blackliste steht.

    Hast du mal eine normale Datei ausprobiert?

    LG
    Julius

  125. Bronko sagt

    am 10. Januar 2013 @ 17:27

    Hi,

    erstmal ein großes Danke für deine Mühe, ist echt ein top script! Glaubst du es wäre viel Arbeit das Script auf Cloudzer.net anzupassen? Cloudzer ist ein Filehoster hinter dem wohl letztendlich die gleiche Person steht wie hinter Uploaded, es wird auch das gleiche Script verwendet. Wäre wirklich super!

    Mfg

    Bronko

  126. holger sagt

    am 7. Februar 2013 @ 23:48

    Hallo,
    kann man mit dem Script keine Dateien als FREE USER herunterladen?

    Falls doch; Könnte bitte jemand einen Codeschnipsel dafür posten, kriege das nämlich überhaupt nicht hintereinander.

  127. admin sagt

    am 8. Februar 2013 @ 14:53

    Hallo,

    meinst du mit Free User, registrierter Free-User oder anonymer User?

    Für ersters guck dir bitte mal den Codeschnipsel in /demo/file_upload_premium_user.php an. (Lass dich von dem Wort „Premium“ nicht abschrecken)

    Anonymer User geht seit längeren nicht mehr bei Uploaded.net

    LG
    Julius

  128. Sascha sagt

    am 20. Februar 2013 @ 15:27

    Moin,

    nettes Teil, funktioniert gut. Ich bin während meiner Tests jedoch auf ein Problem gestoßen:

    You’re trying to upload a copyrighted file to our platform and therefore your file hasn’t been saved, please read and respect our ToS.

    War zwar nur eine leere Zip-Datei, aber die Klasse reagiert nicht auf diese Meldung (was auch klar ist). Wäre also ein Request für die nächste Version 🙂

    Hatte mich nämlich nun stundenlang damit herum geärgert, bis ich auf die tolle Idee gekommen bin, die Datei mal manuell beu UL hochzuladen.

    Gruß,
    Sascha

  129. NullPointer sagt

    am 25. Februar 2013 @ 17:20

    Hey, ich benutze deine Ul API für PHP
    Ich bekomme wenn ich den File-Status via get_files.php abfragen will:
    Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp-portable-lite-win32-1.8.1-VC9\xampp\htdocs\upper\lib\Uploaded.php on line 929
    Login-Daten sind korrekt. Ich habe sehr viele Files bei Uploaded gehostet und möchte ungern die execution-time von php hochdrehen, weil das Script bald auf einem linux-system laufen soll.
    Liegts vielleicht an was anderem?

  130. Christian sagt

    am 26. Februar 2013 @ 00:54

    Hi, du hast dir echt viel Arbeit mit dieser API gemacht – danke hierfür.
    Ich verstehe jedoch nicht das wenn ich nach einer Datei suche z.B. ‚test‘ keine Dateien gefunden werden, wenn nicht der komplette Dateiname angegeben wird.
    Wenn ich beispielsweise test01.zip und test02.zip habe findet die API die Dateien nicht.
    Versucht habe ich es folgendermaßen:
    $info = $up->get_files(‚filename‘, ‚test‘, ‚id‘)

    Könntest du mir hier vielleicht weiterhelfen?
    Besten Dank.

  131. Richie sagt

    am 28. Februar 2013 @ 10:54

    Hi,

    ich versuche dein Skript zum Laufen zu bringen und zwar möchte ich eigentlich nur die Upload und später die Remote-Upload Funktion nutzen.

    Ich habe mir mal alle Dateien angeschaut und ich muss ja in der Uploaded.php meine Daten angeben , ist das richtig?

    Nur ich weiß nicht wie die folgenden 2 Strings auszusehen haben:

    protected $auth_str = “;
    protected $cookie_str = “;

    Danke für deine Hilfe =)

  132. Richie sagt

    am 28. Februar 2013 @ 11:08

    Ahso,
    es handelt sich um einen registrierten Freeaccount, falls das irgendwie wichtig sein sollte!

  133. Patschi sagt

    am 1. April 2013 @ 04:26

    Ich hätte eine bessere Idee, statt eine „1“ beim erfolgreichen Download auszugeben. Wie wär es stattdessen den Dateinamen zurückzugeben?

    Nichts = Fehlerhafter Download
    Irgenwas anderes = Erfolgreich

    So müsste man beim Download nicht noch zusätzlich einen anderen Befehl aufrufen, um den heruntergeladenen Dateinamen zu bekommen.

  134. admin sagt

    am 20. April 2013 @ 13:20

    @Sascha

    Danke Sascha für den Tipp. Ich werde es in der nächsten Version einbauen.

    @NullPointer

    Das kann ich dir so aus der Ferne nicht sagen. Ich würde die execution-time erst mal heraufsetzen um zu gucken ob das Skript bei dir Ordnungsgemäß funktioniert. Immerhin sagst du ja selber das du sehr viele Dateien bei Uploaded.net gehostet hast.

    @Christian

    Die Funktion ist keine Suche, du kannst nur Filtern, darum Funktioniert dein Aufruf so nicht.

    Am einfachsten ist es wenn, du dir alle Dateien zurückgeben lässt und dir eine PHP Funktion schreibst die im File-Array nach den gesuchten Dateien sucht.

    @Richie

    Die Uploaded.php Datei wird nicht verändert! Dies ist eine Klasse und wird von „außen“ gesteuert.
    Im Ordner Demos ist genau beschreiben wie die API bzw. die Klasse zu bedienen ist.

    In deinem Fall:

    < ?php require_once '../lib/Uploaded.php'; $up = new Uploaded(); //Login if(!$up->login(‚ACC_ID‘, ‚ACC_PW‘))
    {
    die(„Login fehlgeschlagen!“);
    }

    $up->add_remote_upload(URL);

    @Patschi

    Ok, ich werde mir mal was überlegen

    LG
    Julius

  135. sell rs gold sagt

    am 21. April 2013 @ 20:31

    Hello to all, I am also genuinely keen of learning Personal home pages programming, but I am new one, I each time used to read content related to PHP programming.

  136. Mr-H sagt

    am 23. Juli 2013 @ 17:19

    thank you dude you’re awsome 🙂

  137. Markus sagt

    am 30. Oktober 2013 @ 16:57

    Ich bekomme immer:

    $up = new Uploaded();

    if(!$up->login($premiumuser, $pw))
    {
    die(‚Login fehlgeschlagen!‘);
    }
    $info = $up->get_download_infos($fileid);

    Den Fehler: 3: Downloadserver nicht gefunden:

    Jemand ne Idee??

  138. Danny sagt

    am 17. November 2013 @ 19:55

    Hallo,
    wie erhalte ich nur die Files die im root-Verzeichnis meines UP-Accounts liegen?

    Muss ich mir hiefür über $up->getFiles() alle Files meines UP-Account holen und dann selbst erstmal eine Ordnerzuweisung durchführen oder kann ich nur einzig auf das root-Verzeichnis zugreifen?

    Würde mich über eine Rückmeldung freuen!

    Danny

  139. Samie sagt

    am 18. Februar 2014 @ 18:15

    Would you be able to help me? I’m using this API and I’m a free user, however the upload speeds are going incredible slow.

    It takes about 2 minutes to upload a 2.5MB file, yet if I upload via FTP, it goes up almost instantly because I have very fast speeds.

  140. Samie sagt

    am 18. Februar 2014 @ 18:16

    Hier werde ich auf Deutsch zu übersetzen.

    Möchten Sie in der Lage, mir zu helfen? Ich bin mit dieser API und ich bin ein kostenloses Benutzer, aber die Upload-Geschwindigkeiten gehen unglaublich langsam.

    Es dauert ca. 2 Minuten, um ein 2,5 MB-Datei hochladen, aber wenn ich über FTP hochladen, geht es fast sofort, weil ich sehr schnell Geschwindigkeiten.

  141. Peter sagt

    am 27. März 2014 @ 13:06

    Hallo,

    ich habe das Script noch um eine Funktion erweitert um den Direct Download zu setzen:

    public function changeDirectDownload($fileId, $directDownload) {
    $p = array();
    $p[„ddl“] = $directDownload;
    $p[„auth“] = $fileId;

    $this->get_curl(„http://uploaded.net/api/file/ddl“,$p);
    }

  142. Peter sagt

    am 27. März 2014 @ 13:08

    Ist es denn auch möglich den Mime Type selber zu setzen.
    Ich habe Probleme beim upload mit apk (android apps) Dateien.
    Beim Download stimmt leider der mime type nicht.

    Ich habe es schon probiert im curl:
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(‚Referer: http://uploaded.net/upload‚,’Content-Type: {meinContentType}‘));

    in dem Fall kommt aber bei Uploaded nichts an.

    Ist es möglich in der FileData in der Upload Methode the Mime Type zu setzen?

  143. Manu sagt

    am 9. August 2014 @ 14:12

    Hi,
    ich habe deine Klasse mal PHP 5.5 kompatibel gemacht.
    http://itdevblog.blogspot.ch/2014/08/uploadedto-api-php-fix-fur-php-55.html

  144. Hansi sagt

    am 14. August 2014 @ 11:42

    Hallo,
    Ist die API noch aktuell, bzw funktioniert diese?

    Lg

  145. Daniel sagt

    am 8. September 2014 @ 11:25

    Ja die klasse funktioniert noch, habe sie selber im einsatz 🙂

  146. Patrick sagt

    am 19. Oktober 2014 @ 13:46

    Danke für diese API!
    Wie kriegt man denn aber den Admincode/ID/Pw für den Uploads raus (ohne deine API zu benutzen)?
    Eine Request an /js/script.js mit Username & Pw als POST-Body?

  147. Rene sagt

    am 30. Januar 2015 @ 19:38

    Die Klasse ist ja richtig genial aber leider bekomme ich aus anderen Links (nicht in meinen Account befindlichen Links) nicht den ganzen Dateinamen heraus… gibt es da eine Möglichkeit oder muss ich mit den gekürzten Dateinamen leben?

    LG Rene

  148. Harry sagt

    am 4. August 2015 @ 17:16

    Hallo,
    Ist die API noch aktuell?
    Wenn ja, in welcher zeile in der Uploaded.php
    müssen die User angaben gemachtwerden?

    Gruss

  149. smasher sagt

    am 7. Januar 2016 @ 11:08

    Hallo,

    das sind zwar schon 3 Jahre seit dem letzten update, aber besser später als nie. Bei der Verwendung der API haben wir einen fetten Bug entdeckt, welcher die übertragenen Dateien beschädigt. Vermutlich, da noch nicht getestet, verbirgt sich dieser in den Zeile 461 und 474. Da soll zum fopen-Aufruf ein ‚b‘ flag hinzugefügt werden, z.b. so:

    $fp = fopen($file, ‚ab‘);

    Aus dem PHP-Manual: Wenn sie beim Arbeiten mit binären Dateien nicht das ‚b‘ Flag angeben, können sie seltsame Probleme mit ihren Daten erleben, einschließlich zerstörter Bild Dateien und merkwürdiger Probleme mit \r\n Zeichen.

    https://secure.php.net/manual/de/function.fopen.php

    Viele Grüße

  150. TobiLei sagt

    am 5. Februar 2016 @ 16:04

    @Harry

    du musst die Logindaten in deinem Script übergeben, siehe Beispiel :

    login_check())
    die(„Login fehlgeschlagen“);

    Gruß
    TobiLei

  151. Thomas sagt

    am 3. März 2016 @ 02:53

    Für alle die Probleme mit dem Upload unter PHP 5.5+ sei folgendes gesagt:
    Für curl wurde eine neue Variable namens „CURLOPT_SAFE_UPLOAD“ hinzugefügt die bei Default eingeschaltet ist.
    Dies verhindert dass ihr ‚@‘.$rf nutzen könnt.
    Die flexibelste Lösung ist dies in die upload Funktion hinzuzufügen:

    if ((version_compare(PHP_VERSION, ‚5.5‘) >= 0))
    {
    $postdata[‚Filedata‘] = new CURLFile($rf);
    }

    Bei mir ist es etwa um Zeile 313-315 nach $postdata. Könnte bei euch je nach Version etwas anders aussehen und auch weil ich die Klasse etwas modifiziert habe.
    Jedenfalls nach $postdata und vor $res = $this->get_curl($upload_server…..

    Dann klappt auch wieder der Upload unter neueren PHP Versionen.

    Mehr hierzu könnt ihr hier lesen:
    http://stackoverflow.com/questions/25934128/curl-file-uploads-not-working-anymore-after-upgrade-from-php-5-5-to-5-6

    Hoffe das hilft jemandem.

  152. Deti sagt

    am 3. Mai 2016 @ 18:48

    Hallo, ich benutze das Script schon eine Weile und funzte bis vor kurzem problemlos. Seit neustem kommt allerdings 6: Logindaten sind falsch: „anonymous fileuploads are forbidden.“
    Ist was auf Uploaded geändert worden oder hat jmd eine Idee an was das liegen kann? (Bitte keine Antworten wie Account-Daten überprüft, wie gesagt das Script läuft seit einiger Zeit ohne das ich was geändert hab!!)

    gruß Deti

Komentar RSS · TrackBack URI

Hinterlasse einen Kommentar

Name: (erforderlich)

eMail: (erforderlich)

Website:

Kommentar: