php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 14.02.2006, 14:05  
Gast
 
Beiträge: n/a
Standard file upload & bilder resize

hallo

versuche mit gerade mit PHP, habe ein paar anfängerfragen:

ich benutze einen script für den upload von files. dieses script funktioniert auf dem server gut. nun wollte ich das gleiche script auf einem anderen server installieren (Linux, PHP 4.4.0) jedoch ohne erfolg.

UPLOAD:

Code:
<?php
$curdir=getcwd();
//     der Filename kommt vom Formularfeld img1, s. oben.

//
//     Hier kommt ein Touch mittels cgi-Skript...
//
       $SCRIPT_FILENAME = $_SERVER['SCRIPT_FILENAME'];

       exec("/usr/local/info-sys/cgi-bin/phptouch           
       $SCRIPT_FILENAME $curdir/tmp/$img1_name",$t,$status);


       if ($status > 2) { die ("
$t[0]"); }

       if ($status == 2) {
      print("File already exists, will be overwritten");
       }
        
       move_uploaded_file("$img1", "./tmp/$img1_name");

//
//     Hier kommt ein Chown mittels cgi-Skript...
//
       $SCRIPT_FILENAME = $_SERVER['SCRIPT_FILENAME'];

       exec("phpchown $SCRIPT_FILENAME                    
              $curdir/tmp/$img1_name",$r,$status);

       if ($status >1) {
      print("
$r[0]");
       }
?>

dabei geht der TOUCH und der CHown nicht. lasse ich das weg und arbeite nur mit MOVE_UPLOADED_FILE geht's... ist etwas beim hoster nicht installiert?

der zweite teil ist die verkleinerung des bildes welches raufgeladen wurde. hier wird mit IMAGE_RESIZE etc. gearbeitet. soweit so gut. wen nich aber copy() einsetze, gibts eine fehlermeldung:

Warning: copy(/home/www/web28/phptmp/phpzXzJjJ): failed to open stream: No such file or directory in /home/www/web28/html/beta2/admin/ride_n_dance/flyer.php on line 131

weiss jemand rat?

danke & gruss
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.02.2006, 14:09  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

na ja der copy Fehler ist eindeutig, die Datei gibts nicht.

ob was nicht installiert wurde das findest du mit phpinfo() heraus
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 15.02.2006, 17:37  
Gast
 
Beiträge: n/a
Standard

ok, mir ist leider nicht ganz klar, wieso die datei nicht exisitiert. ich poste mal den ganzen code, vielleicht hilft das.

den upload habe ich nun anders gestaltet, der funktioniert.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Flyer upload - Ride'n'Dance</title>
<link href="stylesheet_admin.css" rel="stylesheet" type="text/css" />
</head>

<body>
<h1>Flyer upload Section &quot;Ride'n'Dance&quot; </h1>



zur&uuml;ck ohne &Auml;nderungen </p>


  <?php
/////////////////////////////////////77//////// start bild upload
////////////////////////////////////////////////////////////////////
?>

<?php


if ($img1_name == "") {

//  if ($checkvalue == "true") {
?>

<!--
Formular: in einem Filepanel kann der Name des lokalen Files angegeben
	  werden, das auf den Server hochgeladen werden soll.
-->

<h1 align="left"></h1>
<form enctype="multipart/form-data" method="post" 
      action="<?php echo $PHP_SELF?>">

<p align="left">Bild auswaehlen:

   <input type="file" name="img1" size="30"></p>
<p align="left">
  <input type="submit" name="submit" value="Upload File">
</p>
</form>


<div align="left">
  <?php
}


// Das Formular ist ausgefuellt worden...

else {

	  // $checkvalue = "true";
       $curdir=getcwd();
	
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir = '../../flyers/ride_n_dance/';
$uploadfile = $uploaddir . basename($_FILES['img1']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['img1']['tmp_name'], $uploadfile)) {
   echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";


//     der Filename kommt vom Formularfeld img1, s. oben.

  	   
	   // Grösse Bild ändern START
	   
	   // festlegen der MAX breite und hoehe
	     $maxbreite=190; 
		 $maxhoehe=170;
			
			// aktuelle grösse des bildes
	   $groesse = GetImageSize ("../../flyers/ride_n_dance/$img1_name");

    // prüfen, ob bild > maxbreite ist
                if ($groesse[0]>$maxbreite) { 
                
                $mfaktor = $groesse[0]/$maxbreite;  // bild ist breiter, umrechnen 
                $mbreite = $maxbreite;
                $mhoehe = $groesse[1]/$mfaktor; 
				
		
	   // Original kopieren // 
         $dateiname = "$img1_name"; 
         copy($_FILES['img1']['tmp_name'], "../../flyers/ride_n_dance/".$dateiname); 
         // Original kopieren - Ende// 

          // originalgroßes neues 1. Bild erstellen // 
         $original_image = imagecreatefromjpeg("../../flyers/ride_n_dance/".$dateiname); 
         // originalgroßes neues 1. Bild erstellen - Ende// 

         $breite = imagesx ($original_image); 
         $hoehe = imagesy ($original_image); 

         // 48x64 neues 2. Bild erstellen // 
         $image_small = imagecreatetruecolor ("$mbreite","$mhoehe") or die("Cannot Initialize new GD image stream"); 
         // 48x64 neues 2. Bild erstellen - Ende// 

         // originalgroßes neues 1. Bild in 400xyy neues 2. Bild kopieren // 
         imagecopyresized($image_small, $original_image, 0,0, 0,0,$mbreite,$mhoehe,$breite,$hoehe); 
         // originalgroßes neues 1. Bild in 400xyy neues 2. Bild kopieren - Ende// 

         // 2. Bild in Ordner erstellen // 
         imagejpeg($image_small, "../../flyers/ride_n_dance/klein/".$dateiname); 
         // 2. Bild in Ordner erstellen - Ende// 

	   // bild breite festlegen ende
}
else {
}

// bild auf hoehe checken > maxhoehe

$groesse = GetImageSize ("../../flyers/ride_n_dance/$img1_name");

 if ($groesse[1]>$maxhoehe) { 
                
                $mfaktor = $groesse[1]/$maxhoehe; 
                $mhoehe = $maxhoehe;
                $mbreite = $groesse[0]/$mfaktor; 
		
	   // Original kopieren // 
         $dateiname = "$img1_name"; 
         copy($_FILES['img1']['tmp_name'], "../../flyers/ride_n_dance/".$dateiname); 
         // Original kopieren - Ende// 

          // originalgroßes neues 1. Bild erstellen // 
         $original_image = imagecreatefromjpeg("../../flyers/ride_n_dance/".$dateiname); 
         // originalgroßes neues 1. Bild erstellen - Ende// 

         $breite = imagesx ($original_image); 
         $hoehe = imagesy ($original_image); 

         // 48x64 neues 2. Bild erstellen // 
         $image_small = imagecreatetruecolor ("$mbreite","$mhoehe") or die("Cannot Initialize new GD image stream"); 
         // 48x64 neues 2. Bild erstellen - Ende// 

         // originalgroßes neues 1. Bild in 400xyy neues 2. Bild kopieren // 
         imagecopyresized($image_small, $original_image, 0,0, 0,0,$mbreite,$mhoehe,$breite,$hoehe); 
         // originalgroßes neues 1. Bild in 400xyy neues 2. Bild kopieren - Ende// 

         // 2. Bild in Ordner erstellen // 
         imagejpeg($image_small, "../../flyers/ride_n_dance/klein/".$dateiname); 
         // 2. Bild in Ordner erstellen - Ende// 
}
	   
	   else {
	   }
	   
	   // Grösse Bild ändern ENDE



?>
    
</div>
<P align="left">Die Datei <?php echo "$img1_name"; ?> wurde erfolgreich &uuml;bermittelt. Gr&ouml;sse: <?php echo "$img1_size"; ?> bytes, Typ der Datei: <?php echo "$img1_type"; ?>

</p>
<P align="left">

  <?php
}
?>
</p>
<div align="left">
  <?php
/////////////////////////// ende bild upload
/////////////////////////////////////////////////////////////
?>
       
       
</div>
</body>
</html>
 
Alt 15.02.2006, 18:56  
Gast
 
Beiträge: n/a
Standard

Ich poste Dir mal meinen code, vielleicht hilft das noch mehr

PHP-Code:
<?php

$submitstring1 
"Bilder hochladen";
$submit $_POST['submit'];

if (
$submit == $submitstring1)
{
 
$x strrev($_SERVER['REQUEST_URI']);
 
$subdir "";

 foreach (
$_FILES["userfile"]["error"] as $key => $error)
 {
  
$sfx "";
  if (
$_FILES['userfile']['type'][$key] == "image/jpeg"$sfx ".jpg";
  if (
$_FILES['userfile']['type'][$key] == "image/gif")  $sfx ".gif";
  if (
$_FILES['userfile']['type'][$key] == "image/png")  $sfx ".png";

  if (
$error == UPLOAD_ERR_OK)
  {
   
$zielname $subdir.str_replace(array(" ",",","+","?","ä","ö","ü","ß"),array("_","_","_","_","ae","oe","ue","ss"),$_FILES['userfile']['name'][$key]);
   
move_uploaded_file($_FILES["userfile"]["tmp_name"][$key], $zielname)
     or die(
"Upload mindestens eines Bildes fehlgeschlagen");
   @
chmod ($zielname0755);
  }
 }
 unset(
$submit);
 
header("location:index.php");
}

echo 
'<form action="'.$_SERVER['PHP_SELF'].'" method="POST" enctype="multipart/form-data">'.$n;
echo 
'<div style="width:100%;height:90%;overflow:auto;"><table style="width:96%;" CELLSPACING=3 CELLPADDING=0 BORDER=0>';

echo 
'<tr valign="middle"><td colspan="2" class="text2">'.$line.'[b]Bitte AUSSCHLIESSLICH JPG-Bilder hochladen![/b]</td></tr>';

for (
$i=1;$i<=10;$i++)
{
 echo 
'<tr valign="middle"><td class="text2">Bild '.$i.'</td><td class="text2"><input type="file" style="width:350px;" name="userfile[]"></td></tr>'
}
echo 
'<tr valign="middle"><td colspan="2" class="text2">
<input type="submit" name="submit" value="'
.$submitstring1.'"></td></tr>';

echo 
'</table></div>';
echo 
'</form>';
?>

?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit File Upload b++ PHP Tipps 2006 2 26.04.2006 20:35
File Upload tomtaz PHP Tipps 2006 1 19.04.2006 14:58
Bilder Upload PHP Tipps 2006 6 24.03.2006 15:19
Probelem bei meinem Upload Script für Bilder wiegia086 PHP Tipps 2006 3 17.03.2006 09:14
[Erledigt] File Upload mit mehreren Files PHP-Fortgeschrittene 16 16.01.2006 12:07
File Upload - während upload vorgang anmiertes gif PHP-Fortgeschrittene 4 20.10.2005 18:13
[Erledigt] Bildergalerie Gallery 1.5-pl1 + Bilder upload Probleme !!!! PHP Tipps 2005-2 6 01.09.2005 23:22
[Erledigt] Mysql - PHP - Bilder upload Datenbanken 5 24.08.2005 00:04
Bilder Upload in MySQL...geht das? Aris Sung PHP-Fortgeschrittene 7 23.08.2005 23:18
Maximale grösse beim Upload der Bilder... PHP Tipps 2005-2 7 12.06.2005 17:45
File Upload Server, Hosting und Workstations 2 24.05.2005 17:07
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
Bilder upload (Massen) PHP Tipps 2005 11 06.01.2005 14:14
file upload + und pic gleichzeitig verkleinern PHP Tipps 2004-2 3 16.12.2004 08:09
File upload PHP-Fortgeschrittene 3 23.08.2004 17:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php image upload and resize, http://www.php.de/php-tipps-2006/37067-file-upload-bilder-resize.html, php bild upload resize, bilder upload php resize, php file upload resize, php resize file, bilder upload resize php, php rezise image upload, php resize von lokaler file, php img upload and resize, php bilder upload and resize, upload and resize image php, php image resize and upload, php upload image resize, php image upload resize, bild upload mit php und umrechnen, image upload and resize php, php fileupload resize, php upload bild resize, image upload resize php

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.