Uploadscript will ordner erstellen - sehe aber keine funktion dafür

chrisbhv

Mitglied
Hallo,

Ich habe eine Uploadscript gefunden, welches ich umgeschrieben habe für meine Bildergalerie.

Das Problem ist, dass cih eienn Zielordner angebe - wo er das bild dann speichern soll - jedoch sagt er, das er den ordner nicht erstellen kann - wobei er ja KEIN ordner erstellen soll !

folgendes Script:

PHP:
<?

case "add_pics":

$id = "$id";
echo "$id";


	$erg = mysql_query("SELECT * FROM `igal` WHERE id= '".$id."';");
	$num = mysql_numrows($erg);
	if ($num > 0) {
		while ($row = mysql_fetch_object($erg)) {

		$ordner = $row ->ordner;
				
} //while schleife
} //if vor while



?>
      <br><br>
        <form enctype="multipart/form-data" action="?action=upload_now" method="post">
        	<table border="0" width="95%">
        		<tr>
			<td>&nbsp;</td>
			<td><font class="text">maximale Abmessungen: 1600x1600<br>Dateitypen: GIF, JPG</font></td>
				</tr>
        		<input type="hidden" name="ordner" value="<? echo "$ordner"; ?>">
        		<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
        		<tr>
			<td><font class="text">Bild Datei auf eigenem PC:</font></td>
			<td><input name="userfile" type="file" class="textfeld"></td>
		</tr>
        	</table>
        <input type="submit" value="Senden" class="textfeld">
<?
break;

case "upload_now":

echo "$ordner<BR> ausgabe übergabe Ordner!";

$uploaddir = "../bildgalerie/$ordner";
        echo "$uploaddir ausgabe uploaddir <BR><BR>";
		
$orig_filename=$_FILES['userfile']['name'];

        if($_FILES['userfile']['type']=="image/pjpeg"){
            $filext=".jpg";
        }
        if($_FILES['userfile']['type']=="image/jpeg"){
            $filext=".jpg";
        }
        if($_FILES['userfile']['type']=="image/gif"){
            $filext=".gif";
        }
        $imgsize=getimagesize($_FILES['userfile']['tmp_name']);
        echo "<font class=\"text\">";
        if($imgsize[0]>1600 OR $imgsize[1]>1600){
            echo "<br>Fehler: Bild hat zu große Abmessungen<br>";
        }else{
            if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)) {
                  echo "Datei erfolgreich hochgeladen<br>";
                  print_r($_FILES);
            } else {
                print "Error - Bitte Admin benachrichtigen";
                print_r($_FILES);
            }
			}
break;

?>

Folgendermaßen funktioniert das Script:

Äuswählen, welcher Ordner -> per id an "case add_pics" übergeben
Sortierung nach id - mit zusammengehörigkeit des ordners aus DB
Eingabe für Upload -> wird dann an "case upload_now" geschickt.

Ordnerstruktur:
diese Datei heisst bildgalerie.php und liegt hier:
bla/php/admin/bildgalerie.php

Die Bilder sollen aber hier rein:
bla/php/bildgalerie/jeweiliger Ordner

Folgender Fehlercode:
Code:
Warning: Unable to create '../bildgalerie/test/': Is a directory in xxxxxxxxxxxxxxxx/php/admin/bildgalerie.php on line 236
Error - Bitte Admin benachrichtigenArray ( [userfile] => Array ( [name] => 6169145.jpg [type] => image/pjpeg [tmp_name] => /var/www/web1/phptmp/phpUpDZSU [size] => 3144 ) ) 

Zeile 236 ist:
 if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)) {

danke für Eure Hilfe....

Chris
 
move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)

Öhm wenn du dir die Funktion genau ansiehst wirst du sehen, dass die Methode als 2tes Argument ebenfalls ein Dateiname will. also $uploaddir.'testname.xyz' im beispiel stehts allerdings so drinnen: $uploaddir.$FILES['userfile']['name']
 
danke erstmal,

ich habs jetzt so umgeändert:

if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.$_FILES)) {

das klappt fast, nur das einzige was er hochlädt ist ein "array"

-rwxr-xr-x 1 apache apache 33371 Nov 16 22:09 Array

und nicht das jpg welches ich ihm gesagt habe.....

was mache ich falsch ?
 
Aber wie kann ich es denn wieder umformen, sodass es wieder als jpg abegspeichert wird.

Mir fällt leider gerade überhaupt nichts mehr ein...
 
Ich gebe dir mal einen Tipp: Kauf dir ein Buch über PHP, und versuch erst mal die Basics zu lernen, bevor du anfängst, ein Script zu verändern, obwohl du keine Ahnung hast, was du eigentlich machst.
Das ist nicht böse gemeint, und ich hoffe, du bist mir jetzt nicht beleidigt, das war nur ein gut gemeinter Rat.
 
Ja danke - habe ich auch schon.......

Allerdings habe ich mit meinen Gedanken - keine ahnung wo gehangen - sodass ich es übersehen habe....


so funktionierts:

if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.$_FILES['userfile']['name'])) {

ich habe mich woanders am code aufgehalten....

Trotzdem Danke - manchmal hilft es drüber zu reden.. :)
 
Zurück