PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   upload script (http://www.selfphp.de/forum/showthread.php?t=16031)

driver 02.02.2007 10:16:29

upload script
 
Hallo!

Habe ein Upload script zusammengebastelt, dass mir die gewünschten Bilder in einen Order auf dem Server ladet, der Dateiname des Bildes wird in die Datenbank gespeichert. Damit die Bilder eindeutig erkennbar sind, kommen zum Bildnamen noch 8 Zufallszahlen hinzu. Ich möchte aber auch, dass es die Bilder beim Hochladen verkleinert. Nun der Upload und das Eintragen in die Db funktionieren prächtig. Allerdings funktioniert die Anpassung des Bildes nicht, da die Funktion getimagsize laut Fehlermeldung das Bild nicht findet. Ich habe jetzt schon lange herum probiert, aber ich finde den Fehler einfach nicht. Hoffe jemand kann mir hier weiterhelfen, wäre wirklich sehr dankbar!

Das wäre noch der Code:

PHP-Code:

$sizelim "no"//Do you want size limit, yes or no
$size "3000000"//What do you want size limited to be if there is one

//all image types to upload
$cert1 "image/pjpeg"//Jpeg type 1
$cert2 "image/jpeg"//Jpeg type 2
//$cert3 = "image/gif"; //Gif type



//checks if file exists

$img1_name $_FILES['img1']['name'];
$img1_type $_FILES['img1']['type'];
        
if (
$img1_name == "")
  {
  echo 
"Sie haben keine Datei ausgewaehlt<br>";
  }
if (
$img1_name != "")
  {
  
//checks if file exists
  
if (file_exists("$abpath/$img1_name"))
    {
    echo 
"Dateiname $img1_name existiert bereits<br>";
    }
  else
    {
    
//checks if files to big
    
if ($sizelim == "yes")
      {
      if (
$img1_size $size)
        {
       echo 
"Datei $img1_name ist zu gross<br>";
        }
      }

    
//Checks if file is an image
    
if ((($img1_type == $cert1) or ($img1_type == $cert2)) and ($img1_size $size))
      {
        
$uploaddir $abpath;
$bild $_FILES['img1']['tmp_name'];
$random rand(199999999);
$tr str_replace(".jpg",""$img1_name);
$imgname $tr.$random;

print 
"<pre>";
if (
move_uploaded_file($bild$uploaddir.$imgname.".jpg")) {
   print 
"Datei wurde korrekt hochgeladen!\n";   
} else {
   print 
"Datei konnte nicht hochgeladen werden, versuchen Sie es erneut!\n";
   }
                    
$size=getimagesize("$abpath/$imgname");
                        
$image "$abpath/$imgname";
            
$width=$size[0];
                        
$height=$size[1];
            
$newwidth 350;
            
$newheight=intval($height*($newwidth/$width));
            
$oldimage=ImageCreateFromJPEG($image);
            
$newimage=ImageCreateTrueColor($newwidth,$newheight);
            
ImageCopyResampled($newimage,$oldimage,0,0,0,0,$newwidth,$newheight,$width,$height);
            
ImageJPEG($newimage,"$abpath/$imgname".".jpg");    
        

      }

    else
      {
     echo 
"Datei $imgname ist keine erlaubte Grafik (nur JPEG wird unterstützt), oder sie ist zu gross<br>";
      
$img1_name '';
      }
    }
  }

        include(
"config.inc.php");
        
        if (
$img1_name == "")
  {
  echo 
"<br>";
  }
  else{
        
        
$db mysql_connect($host$user$pass);
        
$ok mysql_select_db($dbase);
        
        
        
$sql"INSERT INTO referenzen (id, bauherr, ort, beschreibung, image)
VALUES ('$id', '$bauherr', '$ort', '$beschreibung', '$imgname')"
;
        
        
mysql_db_query($dbase$sql);
        echo 
"Die Daten wurden erfolgreich eingetragen!";        
        }


?> 


BenniG. 02.02.2007 11:05:21

AW: upload script
 
Fällt dir in der (leider nicht mitgeposteten) Fehlermeldung nicht auf, dass das .jpg fehlt?

driver 02.02.2007 12:01:52

AW: upload script
 
danke, da hattest du recht!
war mir jedoch 100% sicher, dass ich das gestern abend schon ausprobiert habe...naja, so kanns gehen.

Noch ne Frage: Hat jemand vielleicht zufällig einen Script, mit dem man hochgelande Bilder mitsamt dem dazugehörigen Text in der Db löschen bzw. ändern kann?

Blade1965 03.02.2007 11:57:28

AW: upload script
 
Einfach das zu löschende Bild aus der Datenbank auslesen und mit unlink($bildname) das JPG aus dem Verzeichnis löschen.

Matze83 27.03.2007 12:56:27

AW: upload script
 
Moin,
sag mal wie definierst du die <input felder, damit er die mit dem Script ausliest? Ich bin relativ neu und habe gerade versucht dieses Script an meine Datenbank anzupassen, aber ich habe es nicht hinbekommen es mit den Eingabefeldern zu verbinden!

Gruß Matze

p.s. Hiermit gucke ich doch nach dem Inhalt oder?:
$img1_name = $_FILES['img1']['name'];
$img1_type = $_FILES['img1']['type'];

Philinho 21.06.2007 15:12:05

AW: upload script
 
hallo zusammen ich habe auch ein prblem bei meinem upload script. ich will ein bild uploaden aber es passiert einfach nichts. ich habe mit copy() gearbeitet.
hier erst mal der formularkopf meines formulars:

<form ENCTYPE="multipart/form-data" action="new.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">

und hier das upload fenster:

<input name="logo "type="file">

und hier ist mein php code dazu:

<?php
$server = "localhost";
$user = "root";
$pass = "";
$database = "surrender";
$table = "t_users";

$vorname = $_POST["vorname"];
$name = $_POST["name"];
$adresse = $_POST["adresse"];
$plz = $_POST["plz"];
$ort = $_POST["ort"];
$telefon = $_POST["telefon"];
$handy = $_POST["handy"];
$mail = $_POST["mail"];
$kategorie = $_POST["kategorie"];
$pers_kategorie = $_POST["pers_kategorie"];
$logo = $_POST["logo"];

echo $logo_name;

$res = copy($logo,"././logos/".$logo_name);

/*if($res != 1){
echo "<script language='JavaScript'>alert(\"Fehler! Bild konnte nicht hochgeladen werden. Aktion wird abgebrochen!\");</script>";
echo "<script language='JavaScript'>top.location.href='new_form.php'</script>";
}*/

if(strcmp($kategorie,"") == 0){

if(strcmp($pers_kategorie,"") == 0){

$kategorie = "";

}else{

$kategorie = $pers_kategorie;

}

}

$verbindung = @mysql_connect($server, $user, $pass)
or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden!");

mysql_select_db($database, $verbindung);

$sql = "INSERT INTO $table VALUE('','$vorname','$name','$adresse','$plz','$ort','$telefon','$hand y','$mail','$kategorie','$logo')";

$query = mysql_query($sql);

echo "<script language='JavaScript'>alert(\"Der Eintrag wurde erfolgreich im Adressbuch gespeichert!\");</script>";

echo "<script language='JavaScript'>top.location.href='../admin.html'</script>";


?>

Raketenmann 21.06.2007 15:26:10

AW: upload script
 
Dann solltest du mal einen Blick ins Handbuch riskieren...
...in den Kapiteln "Vordefinierte Variablen" und "Steuerung von Datei-Uploads" wird dein Fehler erklärt...

Kleiner Tipp vorweg: Die Datei, die du hochgeladen hast, befindet sich nicht $_POST-Array...


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:56:24 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.