kostenloser Webspace werbefrei: lima-city


Bild upload

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Ich richte gerade eine kleine Update Funktion für Profilbilder ein.

    Jedoch wird das File nicht in den Ordner gespeichert. Habt ihr eine Idee was ich falsch mache?

    if(isset($_POST['update_profilepicture'])){
    		
    		function random_string($length){
    	
    			$chars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    		
    			$random_string = '';
    			$number_chars = strlen($chars);
    
    			for($i=0;$i<$length;$i++)
    			{
    				$random_string .= $chars[mt_rand(0, $number_chars - 1)];
    			}
    
    			return $random_string;
    		}
    		
    		$filename_old = $_FILES['file']['name'];
    		$filename_old = explode ('.',$filename_old);
    		$filename_old = array_reverse ($filename_old);
    		
    		$file_type = $filename_old[0];
    		
    		$filename_new = random_string(5) . "." . $file_type;
    		$complete_filename = "/profileimages/" . $filename_new;
    		
    		move_uploaded_file($_FILES['file']['tmp_name'], '/profileimages/' . $filename_new);
    		
    		$check_profile_image = $db->query("SELECT profile_image FROM users WHERE email='$session_info'");
    		$check_profile_image_array = $check_profile_image->fetch_array();
    		
    		if (file_exists($check_profile_image_array['profile_image'])){
    		unlink($check_profile_image_array['profile_image']);
    		}
    		
    		$db->query("UPDATE users SET profile_image='$complete_filename' WHERE email='$session_info'");
    		
    		$profile_picture_error = "<div class=\"alert_success\">Your profile picture was updated.</div>";
    		
    	
    	}


    Der neue Name wird allerdings richtig in die Datenbank eingetragen.

    Hier noch das Formular dazu:
    <div class="row">
    										<section id="settings_container">
    											<h1>Profile picture:</h1>
    											<div class="row">	
    												<div class="6u wmfg_layout_1">
    													<ul class="wmfg_questions">
    														<form method="post" enctype="multipart/form-data" accept="image" action="/settings.php">
    															<li class="wmfg_q">
    																<input class="wmfg_btn" type="file" name="file" value="Browse...">  
    															</li>
    															
    															<li class="wmfg_q">
    																<input type="submit" class="wmfg_btn" name="update_profilepicture" id="update_profilepicture" value="Update profile picture" />
    															</li>
    														</form>	
    													</ul>											
    												</div>
    											</div>			
    										</section>
    									</div>



    Kurz noch nebenbei irgendwie funktioniert die accept Funktion nicht, wie stelle ich es ein das nur png,jpg und jpeg erlaubt werden?

    Liebe Grüße

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. michaelkoepke

    michaelkoepke hat kostenlosen Webspace.

    Hey,

    solch einen Fehler hatte ich vor kurzem auch. Gib deinen Profilbildordner per FTP Schreibrechte, dann sollte es gehen :)

    PS: Schreibe dein move_uploaded_file($_FILES['file']['tmp_name'], '/profileimages/' . $filename_new); in eine If-Abfrage, um auch sicher zu gehen, dass dein Bild ordnungsgemäß hochgeladen und gespeichert wurde, bevor du einen DB-Eintrag schreibst ;)

    MFG MIcha
  4. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Huhu!

    Wie gebe ich dem Ordner den Schreibrechte, bei Notepad++ geht das glaubich nicht :)

    LG
  5. michaelkoepke

    michaelkoepke hat kostenlosen Webspace.

    Lass mich raten, zum testen benutzt du XAMPP auf deinem Windows-PC? Oder wie testest du deine Scripts?

    Hier mal ein Tutorial um Alle Rechte zu vergeben (bei Windows)
    http://www.pa-s.de/php/tutorial-CHMOD-Rechte-in-Windows-vergeben-13.php
  6. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Ich teste direkt auf lima :)
  7. michaelkoepke

    michaelkoepke hat kostenlosen Webspace.

    Dann log dich mit deinem FTP-Client bei Lima-City ein,
    gehe auf den Ordner (auf dem Server),
    rechte Maustaste (Dateiberechtigungen) und
    in dem Feld machst du entweder alle Häkchen oder gibst bei Wert 777 ein ...
  8. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Gerade ausprobiert, funktioniert aber nicht :(
    LG
  9. michaelkoepke

    michaelkoepke hat kostenlosen Webspace.

    eine Idee habe ich noch ...
    move_uploaded_file($_FILES['file']['tmp_name'], '/profileimages/' . $filename_new);

    entferne das erste Slash-Zeichen ...
    move_uploaded_file($_FILES['file']['tmp_name'], 'profileimages/' . $filename_new);


    PS: Kontrolliere doch den Dateityp mit deiner $file_type-Variable

    Beitrag zuletzt geändert: 6.9.2014 20:39:43 von michaelkoepke
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!