Problem mit uploadify [Upload Script]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi,

    also das input type="file" kannst du nicht überschreiben, das ist aus Sicherheitsgründen nicht möglich.
    Aber den Dateinamen in der Datenbank zu speichern, das ist kein Problem, hat aber konkret nichts mit uploadify zu tun.

    Der Dateiname steckt zum Beispiel - falls du PHP nutzt - in der Variablen $_FILE.
    Natürlich ist der komplette Verzeichnispfad aber aus Sicherheitsgründen wieder nicht vorhanden.

    Lg
  • Jetzt habe ich aber das Problem verstanden :)

    Du musst den Dateinamen wieder in dein Original Formular einfügen. Das geht mit dem onSuccess Event.
    Siehe dazu die Dokumentation: uploadify.com/documentation/events/oncomplete-2/

    Ich habe dir auch ein Beispiel gebastelt

    Quellcode

    1. <form action="upload.php">
    2. <input type="file" id="file_upload" name="file_upload" />
    3. <a href="javascript:$('#file_upload').uploadifyUpload();">Upload Files</a>
    4. </form>
    5. <form action="index.php" id="original">
    6. <input type="submit" />
    7. </form>


    Quellcode

    1. $('#file_upload').uploadify({
    2. 'uploader' : '/uploadify/uploadify.swf',
    3. 'script' : '/uploadify/uploadify.php',
    4. 'cancelImg' : '/uploadify/cancel.png',
    5. 'folder' : '/uploads',
    6. 'multi' : true,
    7. 'onComplete' : function(event, ID, fileObj, response, data) {
    8. $('#original').append('<input type="hidden" name="filenames[]" value="'+ fileObj.name +'" />');
    9. $('#original').append('<input type="hidden" name="filepathes[]" value="'+ fileObj.filePath +'" />');
    10. }
    11. });
    Alles anzeigen
  • Ich bekomm das irgendwie nicht richtig hin. Ich poste mal den ganzen Code. Bitte nichts bei denken :). Ich mach das zum ersten mal.

    Quellcode

    1. <head>
    2. <link href="/uploadify/uploadify.css" type="text/css" rel="stylesheet" />
    3. <script type="text/javascript" src="/uploadify/jquery-1.4.2.min.js"></script>
    4. <script type="text/javascript" src="/uploadify/swfobject.js"></script>
    5. <script type="text/javascript" src="/uploadify/jquery.uploadify.v2.1.4.min.js"></script>
    6. <script type="text/javascript">
    7. $(document).ready(function() {
    8. $('#file_upload').uploadify({
    9. 'uploader' : '/uploadify/uploadify.swf',
    10. 'script' : '/uploadify/uploadify.php',
    11. 'cancelImg' : '/uploadify/cancel.png',
    12. 'folder' : '/files/pulseproduction/movie_uploads',
    13. 'buttonText' : 'Datei auswaehlen',
    14. 'sizeLimit' : 209715200,
    15. 'multi' : true,
    16. 'autoPlay': true,
    17. 'onComplete' : function(event, ID, fileObj, response, data) {
    18. $('#original').append('<input type="hidden" name="filenames[]" value="'+ fileObj.name +'" />');
    19. $('#original').append('<input type="hidden" name="filepathes[]" value="'+ fileObj.filePath +'" />');
    20. }
    21. });
    22. });
    23. </script>
    24. <script type="text/javascript" src="js/nicEdit.js"></script>
    25. <script type="text/javascript">
    26. bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });
    27. </script>
    28. </head>
    29. <?php
    30. ##### Datenbank ###################################################################################
    31. $db = include($_SERVER['DOCUMENT_ROOT']."/dbfiles/inc/samp_database.php");
    32. ##### Datenbank ###################################################################################
    33. ?>
    34. <?php
    35. if(isset($_POST["submit"])) { // wenn submit existiert wird diese abfrage aktiv
    36. if($_POST["movieTitle"] == ""|| $_POST["movieStatus"] == ""|| $_POST["movieWidth"] == ""|| $_POST["movieHeight"] == "") {
    37. echo "<p class=\"error\">Sie haben nicht alle Felder ausgefüllt</p>";
    38. } else {
    39. $date = time();
    40. $movieTitle = $_POST["movieTitle"];
    41. $movieStatus = $_POST["movieStatus"];
    42. $movieWidth = $_POST["movieWidth"];
    43. $movieHeight = $_POST["movieHeight"];
    44. $movieInformations = $_POST["movieInformations"];
    45. $moviePrice = $_POST["moviePrice"];
    46. $moviePublic = $_POST["moviePublic"];
    47. $movieFile = $_FILE["file_upload[]"];
    48. $daten = "INSERT INTO movie_info (
    49. movieDate, movieTitle, movieStatus, movieWidth, movieHeight, movieInformations, moviePrice, moviePublic, movieFile
    50. ) VALUES (
    51. '$date', '$movieTitle', '$movieStatus', '$movieWidth', '$movieHeight', '$movieInformations', '$moviePrice', '$moviePublic', '$movieFile');";
    52. $result = mysql_query($daten);
    53. if (!$result) {
    54. die('Ungültige Abfrage: ' . mysql_error());
    55. }else {
    56. //header ("Location: index.php?page=Custom&pageID=4&site=movieList");
    57. }
    58. }
    59. }
    60. ?>
    61. <div class="container-1">
    62. <div class="formElement">
    63. <form action="" method="post" id="original">
    64. <fieldset><legend>Informationen</legend>
    65. <div class="formFieldLabel">
    66. Titel
    67. </div>
    68. <div class="formField">
    69. <input class="inputText" name="movieTitle" type="text" />
    70. </div>
    71. <div class="formFieldDesc">
    72. <p>Titel vom Film</p>
    73. </div>
    74. <br />
    75. <div class="formFieldLabel">
    76. Datei
    77. </div>
    78. <div class="formField">
    79. <fieldset>
    80. <input id="file_upload" name="file_upload" type="file" /><a href="javascript:$('#file_upload').uploadifyUpload();">starte Upload</a>
    81. <p>max. 200 MB | Dateiname vom Video | Endungen nur mit .flv</p>
    82. </fieldset>
    83. </div>
    84. <br />
    85. <div class="formFieldLabel">
    86. Aufl&ouml;sung
    87. </div>
    88. <div class="formField">
    89. <input class="inputText" name="movieWidth" type="text" style="width:30px;" maxlength="4" /> X <input class="inputText" name="movieHeight" type="text" style="width:30px;" maxlength="4" />
    90. </div>
    91. <div class="formField">
    92. <fieldset>
    93. <input type="radio" value="0" name="moviePublic"> kostenpflichtig <br/>
    94. <input type="radio" value="1" name="moviePublic"> gratis
    95. </fieldset>
    96. </div>
    97. <div class="formFieldLabel">
    98. Ticketpreis
    99. </div>
    100. <div class="formField">
    101. <input style="width:30px;" class="inputText" name="moviePrice" type="text" maxlength="4" /> $
    102. </div>
    103. <br/>
    104. <!-- Inhalt -->
    105. <div class="formFieldLabel">
    106. Filminformationen
    107. </div>
    108. <div class="formField">
    109. <textarea cols="80" name="movieInformations" rows="10"><?php echo $text1 ?></textarea>
    110. </div>
    111. <br/>
    112. <div class="formFieldLabel">
    113. Status
    114. </div>
    115. <div class="formField">
    116. <select name="movieStatus">
    117. <option value="0<">aktivieren</option>
    118. <option value="1">deaktivieren</option>
    119. </select>
    120. </div>
    121. </fieldset>
    122. <div class="formSubmit">
    123. <input name="submit" type="submit" value="Absenden" /> <input name="submit" type="reset" />
    124. </div>
    125. </form>
    126. </div>
    127. </div>
    128. <?php
    129. mysql_close($db);
    130. ?>
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von camiyo ()

  • Halt dich doch mal an d0nuts Tip und pack vor Zeile 69/70 eine Ausgabe des POST-Arrays:

    Quellcode

    1. else {
    2. ...
    3. print_r($_POST);
    4. $date = time();
    5. $movieTitle = $_POST["movieTitle"];
    6. $movieStatus = $_POST["movieStatus"];
    7. ...

    Was wird da denn angezeigt?

    Es kann natürlich sein, dass du die Weiterleitung mal rausnehmen musst, um was zu sehen

    Quellcode

    1. if (!$result) {
    2. die('Ungültige Abfrage: ' . mysql_error());
    3. } else {
    4. // header ("Location: index.php?page=Custom&pageID=4&site=movieList");
    5. }
  • Nach dem Absenden, erscheint folgende Meldung über dem Formular
    Array ( [movieTitle] => test 56 [file_upload] => [movieWidth] => 1 [movieHeight] => 1 [moviePublic] => 0 [moviePrice] => 12 [movieInformations] => 121212
    [movieStatus] => 0< [submit] => Absenden [filenames] => Array ( [0] => gtarl-style.tgz ) [filepathes] => Array ( [0] => /files/pulseproduction/movie_uploads/gtarl-style.tgz ) )
  • Lass dir mal $_FILES ausgeben damit du eine Vorstellung davon hast wie das aussieht.

    Quellcode

    1. print_r($_FILES);

    $_FILES ist ein Array welches für jedes hochgeladene File widerum ein Array enthält. Dieses enthält dann Informationen über die jeweilige Datei. Du greifst vollkommen falsch darauf zu.