PHP-Fragen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Phil333, 27. September 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. September 2007
    Ist ja auch ne Programierspache
    hab leider keinen anderen Ort gefunden, wo es besser gepasst hätte..

    kommen wir zu den Fragen...
    ich hab mich vor ein paar Jahren mal an PHP versucht..
    habs damals auch recht schnell gelernt, bin aber bei der (wahrscheinlich) simplen lösung für ein Upload gescheitert..

    um euch genau zu beschreiben, was ich brauche, nehmen wir mal an ich will eine Seite machen, in der man ein Album eintragen kann.
    Hierzu geht man auf eine Seite und gibt den interpret und album an (es wird gecheckt, ob das album existiert) falls es nicht existiert, werden die werte an ne weitere seite gegeben, und man kann das bild hochladen...
    dazu gibt es 2 möglichkeiten
    einmal perupload vom PC einmal via URL
    diese Datein sollen dann unter Interpretnamen_Album.gif/jpg/png
    gespeichert werden.
    dann kommt man auf ne weitere seite, inder man die liedtitel einfürgen muss.

    ich suche erstens ne möglichkeit die bilder in den Schema Interpretnamen_Album.gif/jpg/png zu speichern
    2. muss der Fehler beim upload via URL ausgemerzt werden und
    3. hätte ich es noch gerne, das (irgendwie ... hab keine ahnung wie) die hochgeladenen Bilder wieder gelöscht werden, wenn das eintragen nicht vollständig war oder abgebrochen wurde.

    ich hoffe ihr konnt helfen
    (hier mein script, das ich dafür geschrieben hab (ist ungetestet, aber so ungefähr hab ichs)
    PHP:
    <? php

    $Interpret
    = $_GET [ 'Interpret' ];
    $Albumname = $_GET [ 'Albumname' ];

    if(
    $_POST [ 'submit' ])
    {
      
    $Interpret = $_POST [ 'Interpret' ];
      
    $Albumname = $_POST [ 'Albumname' ];
      
    $art =( $_POST [ 'art' ]);
      if (!
    $art )
      {
        die (
    "bitte geben sie eine upload art an" );
        
    $Fehler = 1 ;
      }
      else
      {
        if (
    $art == 'Datei' )
        {
          
    $max_byte_size  2097152 ;
          
    $allowed_types  "(jpg|jpeg|gif|bmp|png)" ;
          
    $anfang  $Interpret "_" $Albumname ;

            if(
    is_uploaded_file ( $_FILES [ "Datei" ][ "tmp_name" ]))
            {
              if(
    preg_match ( "/\."  $allowed_types  "$/i" $_FILES [ "Datei" ][ "name" ]))
              {
                if(
    $_FILES [ "Datei" ][ "size" ] <=  $max_byte_size )
                {
                  if(
    copy ( $_FILES [ "Datei" ][ "tmp_name" ],  $_FILES [ "Datei" ][ "name" ]))
                  {
                    echo 
    "Datei erfolgreich hochgeladen!<input type='button' value='Weiter' onClick=\"location.href='dienaechsteseite.php?Interpret=" . $Interpret . "&Albumname=" . $Albumname . "'\"><br>" ;
                    
    $Fehler = 1 ;
                  }
                  else
                  {
                    die (
    "Datei konnte nicht hochgeladen werden." );
                    
    $Fehler = 1 ;
                  }
                }
                else
                {
                  die (
    "Die Datei darf nur eine Größe von "  $max_byte_size  " Byte besitzen." );
                  
    $Fehler = 1 ;
                }
              }
              else
              {
                die (
    "Das Format ist nicht erlaubt." );
                
    $Fehler = 1 ;
              }
            }
            else
            {
              die (
    "Keine Datei zum Hochladen angegeben." );
              
    $Fehler = 1 ;
            }
          }
          if (
    $art == 'URL' )
          {
            echo 
    $_POST [ 'URL' ];
            if(
    $data  file_get_contents ( $_POST [ 'URL' ]))
             {
             if(
    get_magic_quotes_runtime ())  $data  stripslashes ( $data );
             
    $fh  fopen ( "bilder/zieldatei.ext" "w" );
             
    fputs ( $fh $data );
             
    fclose ( $fh );
            }
          }
       }
     }
    }
    if (!
    $Fehler )
    {
    ?>
    <html>
    <head>
    <title>Upload</title>
    <script type="text/javascript">
    function auswahl(file) {
        if (file) {
            document.getElementById('datei').style.display='block';
            document.getElementById('url').style.display='none';
        } else {
            document.getElementById('datei').style.display='none';
            document.getElementById('url').style.display='block';
        }
    }
    -->
    </script>
    </head>
    <body>
    <center>
    <form action="<?php  echo  $_SERVER [ 'PHP_SELF' ];  ?>" enctype="multipart/form-data" method="post">
    <table cellpadding="2" align="center">
      <tr>
      <td>Uploadart:</td>
      <td><input type="radio" name="art" value="Datei" onclick="auswahl(true);">Datei<input type="radio" name="art" value="URL" onclick="auswahl(false);">URL</td>
     </tr>
     <tr>
      <td>URL oder Pfad:</td>
      <td><div id="datei" style="display:"><input type="file" name="Datei" ></div>
          <div id="url" style="display: none"><input type="text" name="URL" value="Bitte hier die URL eingeben"></div><input type="hidden" name="Interpret" value="<?php  echo  $Interpret ; ?>"><input type="hidden" name="Albumname" value="<?php  echo  $Albumname ; ?>"></td>
     </tr>
     <tr>
      <td colspan="3" align="center"><br><input type="submit" name="submit" value="Upload"> <input type="reset"  value="Zurücksetzen"> <input type="button" value="Zurück" onclick="location='javascript:history.back()'">   </td>
     </tr>
    </table>
    </center>
    </form>
    </body>
    </html>
    <?php
    }
    ?>
     
  2. 27. September 2007
    AW: PHP-Fragen

    PHP ist keine Programmiersprache.

    ~moved to Webtechnik~
     
  3. 27. September 2007
    AW: PHP-Fragen

    if(copy($_FILES["Datei"]["tmp_name"], $_FILES["Datei"]["name"]))


    der copy befehl gibt einen fehler aus falls die datei nicht vollständig geladen werden konnte
    also falls die if abfrage nicht true zurückgibt kannst du mit else dafür sorgen dass falsche einträge wieder gelöscht werden

    aber sorry ich versteh nicht ganz welches prob auftritt wenn du als file eine url angibst?
     
  4. 27. September 2007
    AW: PHP-Fragen

    sorry, aber lern erstmal richtig php
    grundwissen ist z.B. dass php eine scriptsprache ist....
    außerdem gibt es php.net wo man wunderschöne informationen über operationen im filesystem und auch über fileuploads findet
    da steht z.B. dass man für hochgeladene dateien eigentlich move_uploaded_file() benutzt
    und wenn du dich durch php.net durchgelesen hast kannst du dich gerne wieder melden
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.