php upload fehler :(

latinum_1982

Erfahrenes Mitglied
PHP:
<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "tuningfieber";
$prefix = "";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");

session_start();
$session_id = $_SESSION['user_id']; //$session id
$path = "user_rating_photos/";

	$valid_formats = array("jpg", "png", "gif", "bmp");
	if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
		{
			$name = $_FILES['photoimg']['name'];
			$size = $_FILES['photoimg']['size'];
			
			if(strlen($name))
				{
					list($txt, $ext) = explode(".", $name);
					if(in_array($ext,$valid_formats))
					{
					if($size<(2048*2048))
						{
							$actual_image_name = time().'_'.$session_id.'_'.substr(str_replace(" ", "_", $txt), 5).".".$ext;
							$tmp = $_FILES['photoimg']['tmp_name'];
							if(move_uploaded_file($tmp, $path.$actual_image_name))
								{
								mysql_query("INSTER INTO rating VALUE 
													user_id = '$session_id',
													foto='$actuel_image_name',
													date=NOW()
											
											");
								
								//mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
									
									echo "<img src='user_rating_photoss/".$actual_image_name."'  class='preview'>";
								}
							else
								echo "failed";
						}
						else
						echo "Image file size max 1 MB";					
						}
						else
						echo "Invalid file format..";	
				}
				
			else
				echo "Please select image..!";
				
			exit;
		}
?>

bekomm die fehlermeldung

Warning: move_uploaded_file(user_rating_photos/1343396683_663_ip-bg.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in F:\xampp\htdocs\Tuningfieber.at\pages\upload\ajaximage.php on line 30

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'F:\xampp\tmp\php1C3.tmp' to 'user_rating_photos/1343396683_663_ip-bg.png' in F:\xampp\htdocs\Tuningfieber.at\pages\upload\ajaximage.php on line 30
failed

die zeile 30 ist dir if abfrage
PHP:
if(move_uploaded_file($tmp, $path.$actual_image_name))
								{
								mysql_query("INSTER INTO rating VALUE 
													user_id = '$session_id',
													foto='$actuel_image_name',
													date=NOW()
											
											");
								
								//mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
									
									echo "<img src='user_rating_photoss/".$actual_image_name."'  class='preview'>";
								}


und hier ist mein formular

HTML:
<script type="text/javascript" >
 $(document).ready(function() { 
		
            $('#photoimg').live('change', function()			{ 
			           $("#preview").html('');
			    $("#preview").html('<img src="pages/upload/loader.gif" alt="Uploading...."/>');
			$("#imageform").ajaxForm({
						target: '#preview'
		}).submit();
		
			});
        }); 
</script>					


<form id="imageform" method="post" enctype="multipart/form-data" action='pages/upload/ajaximage.php'>
Foto <input type="file" name="photoimg" id="photoimg" /><input type="submit" value="Senden">
</form>
<div id='preview'>
</div>
 
Hiho,
prüfe mal ob die angezeigten Pfade existieren und auch nicht "Schreibgeschützt" sind.

Außerdem hattest du Fehler im Code, hier der gesamte Korrigierte mit Kommis:

PHP:
<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "tuningfieber";
$prefix = "";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");

session_start();
$session_id = $_SESSION['user_id']; //$session id
$path = "user_rating_photos/";

    $valid_formats = array("jpg", "png", "gif", "bmp");
    if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
        {
            $name = $_FILES['photoimg']['name'];
            $size = $_FILES['photoimg']['size'];
            
            if(strlen($name))
                {
                    list($txt, $ext) = explode(".", $name);
                    if(in_array($ext,$valid_formats))
                    {
                    if($size<(2048*2048))
                        {
                            $actual_image_name = time().'_'.$session_id.'_'.substr(str_replace(" ", "_", $txt), 5).".".$ext;
                            $tmp = $_FILES['photoimg']['tmp_name'];
                            if(move_uploaded_file($tmp, $path.$actual_image_name))
                                {
                                mysql_query("INSERT INTO rating VALUE 
                                                    user_id = '$session_id',
                                                    foto='$actual_image_name',
                                                    date=NOW()
                                            
                                            "); // Hier hattest Du INSTER drin stehen und auch bei foto= $actuel_image_name anstatt $actual_image_name
                                
                                //mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
                                    
                                    echo "<img src='user_rating_photoss/".$actual_image_name."'  class='preview'>";
                                }
                            else
                                echo "failed";
                        }
                        else
                        echo "Image file size max 1 MB";                    
                        }
                        else
                        echo "Invalid file format..";    
                }
                
            else
                echo "Please select image..!";
                
            exit;
        }
?>
 
Ich bin mir nicht sicher, da ich nicht unter Windows entwickle. Aber die Angabe

PHP:
$path = "user_rating_photos/";

könnte hier das Problem sein. Entweder ist wirklich ein absoluter Pfad nötig oder das / am Ende ist falsch und müsste eigentlich \ sein - würde eher auf ersteres tippen.
 
HiHo,
verstehe ich gerade nicht, da der Pfad Windows ist :).

Dies "\" währe falsch jap. Und "/" ist korrekt :)


[EDIT]
Mir ist gerade aufgefallen, dass das FORM nach "pages/upload/" verweißt, wenn Du verschiebst, dann versucht er nach "pages/upload/user_rating_photos/dateiname.jpg" zu verschieben.

Sonnige Grüße
 
Zuletzt bearbeitet:
Wenn sich die Angelegenheit geklärt hat, bitte das Thema als Erledigt makieren.

Sonnige Grüße
 
Zurück