PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   rename() bei einem *.jpg: Bild wird nicht angezeigt (http://www.selfphp.de/forum/showthread.php?t=10595)

Holstenjungs 25.05.2005 15:43:08

rename() bei einem *.jpg: Bild wird nicht angezeigt
 
Hier nochmal ein Problemchen von mir:

Ich habe folgendes Script zum Bild Upload und umbenennen:
PHP-Code:

$file_dir="../userpics/";

if(isset(
$_POST["submit"])){
 
$a_patter = array("|^image/gif$|","|^image/pjpeg$|","|^image/x-png$|","|^image/bmp$|");
 for(
$a=0;$a<count($a_patter);$a++){
  if(
preg_match($a_patter[$a],$_FILES["usrfile"]["type"])){
   if(
$_FILES["usrfile"]["size"] > 0){
    
$ext strrchr($_FILES["usrfile"]["name"],'.');
    
$bilddatei_neu "$session_user$ext";
    
rename($_FILES["usrfile"]["tmp_name"], $file_dir.$bilddatei_neu);
    echo 
"Image vollständig hochgeladen.<br />";
    
$ok 1;
    
$bild_url "$adresse/member/userpics/$bilddatei_neu";
    
mysql_query("UPDATE user_daten SET bild='$bild_url' WHERE user='$session_user'");
   }else{
    echo 
"Datei hat keinen inhalt...";
   }
  }
 }
 if(!isset(
$ok)){
  echo 
"falscher dateityp";
 }
}
?>

<form action="np_bild.php" method="post" enctype="multipart/form-data">
 <input type="submit" name="submit" value="Bild hochladen">
 <input type="file" name="usrfile">
</form> 

Das Script macht eigentlich alles richtig, es lädt die Bilder hoch ins "userpics" Verzeichnis und es benennt sie um.
Das Problem ist nun, das das Bild nicht angezeigt wird. Mit dem SQL-Befehl wird die URL des Bildes gespeichert, soweit gut.
Die Datei soll immer unterschiedliche Namen haben, immer den "Usernamen.Endung". Bei mir heisst sie "admin.jpg". Wenn ich nun die Datei hochlade, wird sie auch in "admin.jpg" umbenannt, egal wie sie vorher hieß.
Sie wird aber eben nicht angezeigt. Wenn ich nun eine Datei mit dem selben Namen via FTP-Programm hochlade wird diese angezeigt.

Hat jemand eine Ahnung wo der Fehler steckt? Das Verzeichnis hat alle nötigen Rechte(CHMOD).

c4 25.05.2005 15:48:04

AW: rename() bei einem *.jpg: Bild wird nicht angezeigt
 
Habe zwar noch nicht mit Uploads gearbeitet, aber m.E. MUSST Du die Dateien mit move_uploaded_file() verschieben, da sie sonst - weil temporär - bei Beendigung des Skriptes gelöscht werden.

Garantiere nicht für Richtigkeit. :)

feuervogel 25.05.2005 15:53:08

AW: rename() bei einem *.jpg: Bild wird nicht angezeigt
 
Zitat:

Zitat von c4
Habe zwar noch nicht mit Uploads gearbeitet, aber m.E. MUSST Du die Dateien mit move_uploaded_file() verschieben, da sie sonst - weil temporär - bei Beendigung des Skriptes gelöscht werden.

Garantiere nicht für Richtigkeit. :)

joar, stimmt soweit ich weiß...

edit:

Zitat:

$_FILES['probe']['tmp_name']
Diese Variable enthält den Namen der Datei in einem temporären Verzeichnis auf dem Server. Sie kann von dort mit einem move_uploaded_file() -Aufruf abgeholt werden. Das ist auch notwendig, da die Originaldatei am Ende des Scriptes automatisch gelöscht wird.
quelle

Holstenjungs 25.05.2005 16:05:39

AW: rename() bei einem *.jpg: Bild wird nicht angezeigt
 
Das war ja einfach. DANKE Euch beiden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:46:45 Uhr.

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