Upload via PHP

und wie kann man machen das er die datei in z.b.
1.***
2.***
3.***

also in zahlene immer eine weiter...aja und wie kann ich andere endunge machen z.b. exe oder zip?
 
Hallo,
ich bins mal wieder. Als ich das letzte mal hier zu diesem Thema gepostet hab, hatte ich die Site an der ich bastle noch local auf meinem Rechner mit dem XAMPP von Apachfriends getestet. Da funktionierte das Upload Script auch einwandfrei.

Nun hab ich die Site aber online als Subdomain. Wenn ich jetzt versuche eine Datei upzuloaden kommt folgende Fehlermeldung.

"Warning: copy(./upload/Avatare/1.gif): failed to open stream: Permission denied in /www/htdocs/sukole/includes/memberlist.php on line 113"

In dieser Zeihle steht:
PHP:
copy($tempname, "./upload/Avatare/$id.$ext");

Die Rechte für die Ordner upload / Avatare hab ich auf 777 gesetzt.

Kann mir jemand sagen was der Fehler ist?
 
So schlau war ich auch schon. Aber da kommt dann diese Fehlermeldung:

"Warning: copy(): open_basedir restriction in effect. File(../upload/Avatare/1.gif) is not within the allowed path(s): (/www/htdocs/sukole/:/tmp:/usr/bin:/www/htdocs/sukole:/bin:/usr/local/bin:/usr/share/php) in /www/htdocs/sukole/includes/memberlist.php on line 113

Warning: copy(../upload/Avatare/1.gif): failed to open stream: Operation not permitted in /www/htdocs/sukole/includes/memberlist.php on line 113"

Hat es vieleicht etwas damit zu tun das es eine Subdomain ist?

Ich hatte es auch schon soweit getestet, das ich den Pad einfach weg gelassen hab. So das er die Datei einfach in das Verzeichnis copieren sollte in dem das Upload Script liegt. Und hatte natürlich bei dem Verzeichnis dann auch die Rechte auf 777 gesetzt. Da kam dann zwar keine Fehlermeldung mehr aber die Datei hat er trotzdem nicht hoch geladen.

Noch mal zum besseren Verständnis das gesamte Uploadscript:
PHP:
 		    $tempname	= $_FILES['file']['tmp_name'];
 			$name 		= $_FILES['file']['name'];
 			$type 		= $_FILES['file']['type'];
 			$size 		= $_FILES['file']['size'];
   			
   			
   			if (!empty ($name)) {
  					  
 			if($type != "image/gif" && $type != "image/pjpeg") {
 			$err[] = "<h1>nur gif und jpeg Dateien dürfen hochgeladen werden.</h1>";
   			}
   			
   			if($size > "20000") {
 			$err[] = "<h1>Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!</h1>";
   			} 
   			
   			if(empty($err)) {
   			
   			$exp = explode('.',$name);
   			$ext = $exp[count($exp)-1]; 
   			
 		 mysql_query("update benutzerdaten set Avatar =   		  './upload/Avatare/".$_POST['id'].".$ext' WHERE id = '".$_POST['id']."' ");
   			
   			$id = $_POST['id'];
   			copy($tempname, "./upload/Avatare/$id.$ext");
 			 echo "<h1>Die Datei $name wurde erfolgreich hochgeladen!</h1>";
   			} 
   			
   			else {
   			foreach($err as $error)
   			echo "$error<br>";
   			 }
 
Zuletzt bearbeitet:
Versuchs mal indem du das absolute Verzeichnis angibst bei deiner copy-Funktion.
Also so ungefähr: /www/htdocs/sukole/upload/avatare
Musst du nur noch anpassen...ich weiß ja nicht wo dein Zielordner ist.

greetz
daddz
 
Also alle Fehler bisher behoben. Trotzdem wird das Bild nicht hochgeladen. Ich hab keine AHnung woran das noch liegen könnte.

PHP:
$exp = explode('.',$tempname);
			$ext = $exp[count($exp)-1];
			move_uploaded_file($tempname, "../images/avatars/upload/".$_FILES["file"]["name"]);
			$meldung= "Die Datei $name wurde erfolgreich hochgeladen!";

Jedenfalls kommt keine Fehlermeldung. Allerdings wird die Datei auch nicht hochgeladen, obwohl der Ordner CHMOD 777 besitzt.

Und wenn ich die Sache so mache:

PHP:
 move_uploaded_file($tempname, "../images/avatars/upload/".$_SESSION["user_id"].$ext;

Kommt mir folgende Meldung:

Warning: move_uploaded_file(../images/avatars/upload/12de/tmp/phpYUw4OF) [function.move-uploaded-file]: failed to create stream: No such file or directory in /home/www/htdocs/haba-maniacs.de/ssv/user/edit.php on line 278

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/www/htdocs/haba-maniacs.de/tmp/phpYUw4OF' to '../images/avatars/upload/12de/tmp/phpYUw4OF' in /home/www/htdocs/haba-maniacs.de/ssv/user/edit.php on line 278
 
Zuletzt bearbeitet:
Zurück