You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Sunday, February 25th 2007, 4:19am

probleme beim Picture-Upload

Hallo

Folgendes Problem... Wenn ich ein Bild auswähle sagt er mir das ich kein ausgewählt hätte..

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?PHP
// Variablen auslesen
while (list($key,$val)=each($_GET))  {
	 ${$key} = $val; }
 
include("setup.inc");
$sizea = 100000;
$nick3 = "tristar";
 
  if ($acti == "save") {
    $errortext='';
    IF($photo[error]){
      // No files uploaded
      $errortext= "keine BILD ausgewählt";
    }ELSE{
      // Check file size.
      IF($photo['size']>$session->config->max_photo_size){
        // Uploaded file is too large
        $errortext=STR_REPLACE('{SIZE}', $sitzea, "zu groß");
      }ELSE{
        // Store file
        $tmp_name=MD5($session_id.MICROTIME().RAND(-TIME(), TIME()));
	  $tmp_fullname='pics/'.$tmp_name;
        MOVE_UPLOADED_FILE($photo['tmp_name'], $tmp_fullname);
        // Check file mime type
        $type_ok=FALSE;
        $allowed_types=ARRAY('jpg'  =>  '.jpg',
                             'jpeg' =>  '.jpeg',
                             'gif'  =>  '.gif',
                             'ief'  =>  '.ief',
                             'png'  =>  '.png',
                             'tiff' =>  '.tiff',
                             'bmp'  =>  '.bmp',
                             'wbmp' =>  '.wbmp');
        IF(FUNCTION_EXISTS('getimagesize')){
          $imgdata=GETIMAGESIZE($tmp_fullname);
          IF(EMPTY($imgdata) || EMPTY($imgdata['mime'])){
            $imgdata=NULL;
          }
        }ELSE{
          $imgdata=NULL;
        }
        FOREACH($allowed_types AS $chk_type=>$extension){
          IF(!EMPTY($imgdata)){
            $type_ok=   !EMPTY($imgdata[0])
                     && !EMPTY($imgdata[1])
                     && FALSE!==STRPOS(STRTOLOWER($imgdata['mime']), $chk_type);
          }ELSE{
            $type_ok=FALSE!==STRPOS(STRTOLOWER($photo['type']), $chk_type);
          }
          IF($type_ok){
            RENAME($tmp_fullname, $tmp_fullname.$extension);
            $tmp_name.=$extension;
            BREAK;
          }
        }
        IF(!$type_ok){
          // File is not an image or has non-supported format
          $errortext=$lng['notanimage'];
          UNLINK($tmp_fullname);
        }ELSE{
 
          // Image is OK
                    // Update user's profile
          //$user->updateUser($session, $profile_user_id, 'photo = "'.$tmp_name.'"');
                  $comment = str_replace("(b)", "<b>", $comment);
			$comment = str_replace("(/b)", "</b>", $comment);
			$comment = str_replace("(i)", "<i>", $comment);
			$comment = str_replace("(/i)", "</i>", $comment);
			$comment = str_replace("[b]", "<b>", $comment);
			$comment = str_replace("[/b]", "</b>", $comment);
			$comment = str_replace("[i]", "<i>", $comment);
			$comment = str_replace("[/i]", "</i>", $comment);
			echo "llll";
	    		$eintrag = "INSERT INTO icc_galerie (nick, pic, comment, usid) VALUES ('$nick3','$tmp_name' ,'$comment','$usid3')"; 
	    		mysql_query($eintrag)or die(mysql_error());
 
REQUIRE("see.inc.php");
BREAK;
 
	    		} 
        }
 
        }
 
        }
 
        echo $tmp_fullname;
 
  REQUIRE("upload.tpl.php");
 
?>


wenn ich ab "Check file size." das davor weglasse kommt die meldung, File zu groß, obwohl es nicht stimmt und wenn ich das bis "Store file" weg lasse meldet er mir "Warning: getimagesize(pics/5d9cb770cbd92d643506113d3b41dfcb) [function.getimagesize]: failed to open stream: No such file or directory in " "unlink(pics/5d9cb770cbd92d643506113d3b41dfcb) [function.unlink]: No such file or directory in" obwohl das directory vorhanden ist...

greets

2

Sunday, February 25th 2007, 4:43am

Wo nimmst du denn dein $photo her?
Wenn dir PHP sagt, dass die Datei/Verzeichnichs nicht existiert, dann wird das schon so stimmen. Lass dir doch mal die Variablen ausgeben, die diese Fehlermeldungen verursachen...

IF($photo['size']>$session->config->max_photo_size){

was macht das ">" denn da so alleine?!

3

Sunday, February 25th 2007, 11:37am

Sag mal toxic. warum entfernst du eigentlich deine ganzen Fragen, wenn sie erstmal beantwortet sind?
An dieser Stelle möchte ich dich ganz klar darauf hinweisen, dass du auf meine Hilfe verzichten musst, wenn ich das wieder feststelle. Das ist ein öffentliches Forum, bei dem jedem Besucher geholfen werden soll.

@topic: per GET kannst du keine Dateien hochladen. Daher gibt dir der Code in #3 und #4
auch keinen Zugriff auf $photo.

4

Sunday, February 25th 2007, 12:29pm

hallo

Okay, hab es verstanden DONUT, mit dem löschen...

@Benny: Hatte da noch vergessen es in 17 auf "Sitzea" zu stellen, aber danke für den TIP...

@Donut; hab es jetzt mal auf "POST" geändert und die TPL mitangepasst...
BEkomm jetzt die fehlermeldung

Quoted

Warning: getimagesize(pics/3a37bcb92b52529867ffa675e337be57) [function.getimagesize]: failed to open stream: No such file or directory in D:\Programme\xampp\htdocs\autopflege\admin\upload.inc.php on line 36

Warning: unlink(pics/3a37bcb92b52529867ffa675e337be57) [function.unlink]: No such file or directory in D:\Programme\xampp\htdocs\autopflege\admin\upload.inc.php on line 60
pics/3a37bcb92b52529867ffa675e337be57


gestartet wird es über

PHP Quellcode

1
2
3
4
5
<FORM name="photo_upload" action="main.php" method="post" enctype="multipart/form-data">
      					    <INPUT type="hidden" name="s" value="<?=$s?>">
      					    <INPUT type="hidden" name="include" value="<?=$include?>">
							<input type="hidden" name="acti" value="save" />
<INPUT type="file" name="photo" SIZE="40">


greets

5

Sunday, February 25th 2007, 12:54pm

hallo

Er gibt mir bei allem "files" immer Bild wird nicht unterstützt.

Wird wohl daran liegen, das er das .jpg oder .gif nicht am ende der datei setzt...

und daher auch die "GETIMAGESIZE" und "UNLINK (wo nichts ist, kann er auch nichts löschen)" Fehler... nur frag ich mich gerade, wo ich den fehler im Code hab...

edit: hab mal $tmp_name und $tmp_fullname ausgegeben, wo genau das kommt...

"3a37bcb92b52529867ffa675e337be57" und "pics/3a37bcb92b52529867ffa675e337be57"

greets

6

Sunday, February 25th 2007, 1:35pm

Dein Script funktioniert ganz unabhängig von den Zeilen 3 und 4 nur, weil register_globals auf on ist. Normalerweise darfst du auf Uploads nur mittels $_FILES['name'] zugreifen.

PHP Quellcode

1
$tmp_fullname='pics/'.$tmp_name;

Auf Windows Servern musst du Backslashes bei den Pfaden benutzen.

Zur Logik deines Scriptes. Du solltest das Bild nicht erst in den richtigen Pfad verschieben, dort dann überprüfen und bei Erfolg nochmal umbenennen. Selbst wenn die Dateiendung relevant wäre könntest du die Überprüfung auch auf die TMP Datei anwenden.

7

Sunday, February 25th 2007, 1:57pm

hallo

Das hab ich auch soweit verstanden... nur versteh ich nicht, wehshalb er die Datei nicht richtig setzt zum überprüfen...

greets

8

Sunday, February 25th 2007, 6:04pm

Hast du die Slashes ersetzt und es kommt noch genau die selbe Fehlermeldung?

9

Sunday, February 25th 2007, 6:56pm

hallo

also ich hab den "/" auf "\" gesetzt... Wenn ich den Backslash richtig deute...

dann kommt bei mir die Fehlermeldung...

"Parse error: parse error, unexpected T_STRING in D:\Programme\xampp\htdocs\autopflege\admin\upload.inc.php on line 24
"

in diesem code

PHP Quellcode

1
2
23 $tmp_fullname='pics\'.$tmp_name;
24 MOVE_UPLOADED_FILE($photo['tmp_name'], $tmp_fullname);



greets

10

Sunday, February 25th 2007, 7:13pm

Quoted

\'


Ist nur das Zeichen ' - schließt aber keinen String mehr.

11

Sunday, February 25th 2007, 9:09pm

hallo

Ich stell mir gerade selbst die frage, weshalb das Script im Chat so wie es hier steht (als bildergalerie) funktioniert, aber nicht auserhalb des Chats als Bildergalerie...

Falls die Frage kommt, woher der Offset stammt...

PHP Quellcode

1
2
3
4
5
/* Offset */
DEFINE("OFFSET","./");
 
/* Path to directory that contains images */
DEFINE('IMAGEPATH',OFFSET.'images');


Hier di neue Fehlermeldung (außerhalb der Bildergalerie)...

Quoted

Warning: getimagesize(./images/pics/943c90dc7fe47c18d1d4a770a0a7a983) [function.getimagesize]: failed to open stream: No such file or directory in D:\Programme\xampp\htdocs\autopflege\admin\upload.inc.php on line 37

Warning: unlink(./images/pics/943c90dc7fe47c18d1d4a770a0a7a983) [function.unlink]: No such file or directory in D:\Programme\xampp\htdocs\autopflege\admin\upload.inc.php on line 61
./images/pics/943c90dc7fe47c18d1d4a770a0a7a983


Die Pfade sind alle vorhanden... wie auch im Chat, 1:1 übernommen und dennoch sagt er, sie wären nicht da...

Ich habe mal die beiden Variabeln auslesen lassen, im Chat und alleine als Bildergalerie...

Chat (wo es klappt)
<?=$tmp_fullname?> "./images/pics/b021e395ce685723f3b4e9dc0b3cd353"
<?=$tmp_name?> "b021e395ce685723f3b4e9dc0b3cd353.jpeg"

auserhalb vom Chat (wo es nicht klappt)
<?=$tmp_fullname?> "./images/pics/b021e395ce685723f3b4e9dc0b3cd353"
<?=$tmp_name?> "b021e395ce685723f3b4e9dc0b3cd353"

Greets

12

Tuesday, February 27th 2007, 6:34pm

hallo

na ja, was soll es, trotzdem Danke... mach ich das Script nochmal neu und werd das alte in die Tonne schmeißen...

Greets

Similar threads

Social bookmarks