WinFuture-Forum.de: Uploadete Datei Gleich Umbenennen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Uploadete Datei Gleich Umbenennen


#1 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 30. Juli 2006 - 16:23

Hallo Leute,

Ich hab wieder ein Problem ;)
& hoffe ihr könnt mir weiterhelfen ...

Ich habe ein uploadscript das läd Bilder hoch und behält den Dateinamen. Ich möchte aber das das Bild umbenannt wird, weil wen ein Bild schon mit den Dateinamen existiert dan wird das einfach überschrieben. ;) Dazu muss erstmal die Dateiendung vom Dateinamen entfernt werden und dan muss die Datei umbenannt werden, dann musst wieder die Endung dran. Die Dateinamen sollen
ct_pic[nr].[endung] heißen. [nr] steht für die Nummer den Bildes, fals z.b.: ct_pic2 vorhanden ist soll [nr] um eins erhöht werden. dafür hab ich schon ein Script:

while (empty($filename)) {
	  $i++;
	  if (!file_exists("ct_pic$i.ENDUNG")) {
			$filename = "ct_pic$i.ENDUNG";
	  }
}


Und hier ist das uploadscript:

$add = "ct_pics/pics/$userfile_name";

if(move_uploaded_file ($userfile, $add)){
echo "Das Bild wurde erfolgreich hochgeladen!<br>";
chmod("$add",0777);


Hoffe ihr könnt mir weiterhelfen... :)

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

Anzeige



#2 Mitglied ist offline   Meatwad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 784
  • Beigetreten: 07. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bad Vilbel
  • Interessen:Computer, Inliner, Chatten...

geschrieben 30. Juli 2006 - 16:55

rename()
I am away to look for my self. If I am back before I return keep me here. | Mein Server
0

#3 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 30. Juli 2006 - 17:33

Du hast oben den Text nicht gelesen :)
Ich kann nicht einfach rename() machen, weil wen ich das mache dan verschwindet die Dateiendung z.B.: .jpg und ich kann nicht einfach bei rename() .jpg anhängen weil es kann auch eine .gif oder .png datei sein ...

Ich muss den Dateinamen von der Dateiendung trennen ...

Dieser Beitrag wurde von keny bearbeitet: 30. Juli 2006 - 17:34

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#4 Mitglied ist offline   Meatwad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 784
  • Beigetreten: 07. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bad Vilbel
  • Interessen:Computer, Inliner, Chatten...

geschrieben 30. Juli 2006 - 17:47

dann nim explode()
I am away to look for my self. If I am back before I return keep me here. | Mein Server
0

#5 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 30. Juli 2006 - 21:27

Hab eigentlich gehofft das mir geholfen wird. ;)
Hab schon vieles probiert aber bekomms einfach nicht hin ...

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#6 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 30. Juli 2006 - 21:51

Hm? Er hat doch geholfen. Du wendest explode mit "." als Seperator auf den Dateinamen an und bekommst ein Array, was wie folgt aussehen duerfte:

Array
(
	[0] => dateiname
	[1] => ext
)


Und dann kannst du doch rename verwenden.

rename($altername , "neuername-".rand(0, 100).$deinexplodearray[1]);


Sollte doch klappen, oder irre ich mich.

Gruesse,
PW
0

#7 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 30. Juli 2006 - 22:27

Ja aber ich muss es so wie obene gesagt umbenennen und dazu brauch ich eine while-schleife aber sobald ich die benutze wird die Datei nicht umbenannt ;)

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#8 Mitglied ist offline   hasch 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.790
  • Beigetreten: 28. Januar 04
  • Reputation: 0
  • Wohnort:Localhost
  • Interessen:Ach so viele ...

geschrieben 30. Juli 2006 - 22:42

Und wie sollen wir deinen Fehler jetzt finden? Du wirfst uns einen Codeschnippsel hin, indem tausend Variablen genannt sind, keine wiederverwendet wird und nicht einmal der Code enthalten ist, wie die Datei genau umbenannt wird.

Das Prinzip wurde dir doch nun ausführlich erklärt, wenn du einen fehler im Code hast, musste den schonmal selber suchen oder mal einen größeren Code-Ausschnitt liefern.
0

#9 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 31. Juli 2006 - 13:29

Ok hier die ganze Codes:

upload.html
<!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=utf-8" />
<link rel="stylesheet" type="text/css" href="..\style.css">
<title>Erfurt CT - Beta</title>
</head>

<body bgcolor="#CC66FF" style="font-family: Verdana; font-size: 11px"><br />

<form enctype="multipart/form-data" action="ct_pic_upload2.php" Method="POST">
Bild:<br>
<input name="bild" type="file"><br><br>

<input type="submit" value="Bild hochladen" style="width:135px" onclick="this.disabled=1; this.form.submit();"></form><br><br>

</body>
</html>




ct_pic_upload2.php:
<?php
$uploddir = "ct_pics/pics/";

$tmp_name = $HTTP_POST_FILES['bild']['tmp_name'];
$name = $HTTP_POST_FILES['bild']['name'];

$exta = explode(".", $name);
$filen = $exta[0];
$fileex = $exta[1];

while (empty($filen)) {
$i++;
if (!file_exists("ct_pics/pics/ct_pic$i")) {
$newname = "ct_pic$i";
}
}

$newpic = $uploddir.$newname.$fileex;

if(move_uploaded_file($tmp_name, $newpic)) {
echo "Das Bild wurde erfolgreich hochgeladen!<br>";
chmod("$newpic",0777);

}else{echo "Fehler beim hochladen des Bildes!";
exit;}
?>

Dieser Beitrag wurde von keny bearbeitet: 31. Juli 2006 - 13:36

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#10 Mitglied ist offline   hasch 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.790
  • Beigetreten: 28. Januar 04
  • Reputation: 0
  • Wohnort:Localhost
  • Interessen:Ach so viele ...

geschrieben 31. Juli 2006 - 14:29

Also auf den ersten Blick kann ich aber keinen Fehler entdecken.
Erzeugst du mit der while-Schleife nicht aber eine Endlosschleife? (Weil ja deine Variable $filen immer einen Wert enthält, oder nicht?)
0

#11 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 31. Juli 2006 - 15:34

Hm ... da du das jetzt sags ...
Die while-Schleife soll ja nur prüfen ob der Dateiname schon vorhanden ist. $i immer weiterzählen bis er einen Dateinamen findet den es noch nicht gibt.

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#12 Mitglied ist offline   hasch 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.790
  • Beigetreten: 28. Januar 04
  • Reputation: 0
  • Wohnort:Localhost
  • Interessen:Ach so viele ...

geschrieben 31. Juli 2006 - 15:38

In was benennt das Script die Datei denn genau um?

Naja aber die while-Schleife prüft ja nur, ob der Dateiname, den du extrahiert hast, exestiert, d.h. der würde ja während der gesamten laufzeit exestieren, somit dürfte sich eine Endlosschleife ergeben.

probier mal besser eine andere Bed. für die Schleife aus. :cool:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0