How to save uploading photos in a PHP session?

I created this web form wizard consisting of several PHP pages. On several pages, users can fill out a form, and the data is temporarily stored in a session, and on the last page, sessions are used to store all the data in the MYSQL database. Everything works fine except for the downloaded file. Here is my code:

HTML: wizard_page2

<form name="registratieformulier" method="post" enctype="multipart/form-data" action="sw3.php">

    <tr><td>Foto winkel uploaden: </td><td><input type="file" name="uploadfoto"/></td></tr><br /><br />

      <tr><td><strong>Omschrijving van winkel:</strong></td>                    </tr><br />

       <tr><textarea cols="50" rows="7" name="omschrijvingwinkel"></textarea></tr>
       <input name="pkbedrijven" value="<?php echo($pkbedrijven); ?>" type="hidden" />
    <input type="submit" name="stuurfoto" value="Verzenden" />

</form>

PHP: wizard_last_page

    $_FILES['uploadfoto']['name']       = $_SESSION["naamfoto"];
    $_FILES['uploadfoto']['tmp_name']   = $_SESSION["tijdelijk"];

    $bn =   $_SESSION["wn"];

     $target_path = "../../winkels/$bn/";

      $target_path = $target_path . basename( $_FILES['uploadfoto']['name']);


    move_uploaded_file($_FILES['uploadfoto']['tmp_name'], $target_path)or die("There was an error uploading the file, please try again!");
     $foto_path  = "http://mywebsite.nl/winkels/$bn/".basename($_FILES['uploadfoto']['name']);


   $omschrijving   = $_SESSION["omschrijving"];

   $add = "UPDATE winkelprofiel SET winkelomschrijving='$omschrijving', winkelfoto='$foto_path' WHERE fkBedrijvenID=$pkbedrijven ";
   $query_upload = mysql_query($add) or die("De winkelfoto en omschrijving konden niet worden opgeslagen");
+5
source share
4 answers

$_FILES , . , PHP . $_FILES['uploadfoto']['tmp_name'] , , . $_SESSION $_FILES, .

:

  • , $_FILES['uploadfoto']['tmp_name']
  • , , $_SESSION
  • - $_SESSION ( $_FILES)
  • , ,
+7

, , , $_FILES ['uploadfoto'] ['tmp_name'], . , , wizard_last_page. POST.

$target_path , $target_path , wizard_last_page.

+3

, . , .

$_SESSION['file'] = $_FILES["file"]["name"];

if (file_exists("uploads/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/temp/" . $_FILES["file"]["name"]);
      };


//This for the last page.
$file = file_get_contents("uploads/temp/".$_SESSION['file']);
file_put_contents("uploads/".$_SESSION['file'], $file);
+1

. . "file_get_contents" . :

  $_SESSION['imgArrayFile'][] = $_FILES['file']; //Your file infromations
  $_SESSION['imgArrayName'][] = $_POST["ImgNewNamePlacowki"]; //new name for img
  $_SESSION['ImgArrayAlt'][] = $_POST["ImgAltPlacowki"]; // alt tags if you use them
  $_SESSION['obj_image_session'][] = file_get_contents($_FILES['file']['tmp_name']); 
  //above "file_get_contents" function - store image as a long string.

, , . , , , .

$file= $destination."/".$filename; //images/new.jpg
$fp=fopen($file,"w");
fwrite($fp,$_SESSION['obj_image_session'][$index]);

MY (WORKING):

<?php
//$galery_img_folder = "your/new/image/destination";

foreach($_SESSION['imgArrayFile'] as $index => $name){
  if($_SESSION['imgArrayName'][$index]!="" 
  && $_SESSION['ImgArrayAlt'][$index]!=""
  && $_SESSION['obj_image_session'][$index]!=""
  ){

    $allowedExts = array("gif", "jpeg", "jpg", "png");
    $temp = explode(".", $_SESSION['imgArrayFile'][$index]["name"]);
    $extension = end($temp);
    if ((($_SESSION['imgArrayFile'][$index]["type"] == "image/gif")
    || ($_SESSION['imgArrayFile'][$index]["type"] == "image/jpeg")
    || ($_SESSION['imgArrayFile'][$index]["type"] == "image/jpg")
    || ($_SESSION['imgArrayFile'][$index]["type"] == "image/pjpeg")
    || ($_SESSION['imgArrayFile'][$index]["type"] == "image/x-png")
    || ($_SESSION['imgArrayFile'][$index]["type"] == "image/png"))
    && ($_SESSION['imgArrayFile'][$index]["size"] < 104857600)
    && in_array($extension, $allowedExts))
      {
          if(isset($_SESSION['imgArrayName'][$index]) && $_SESSION['imgArrayName'][$index]!=""){ 
          $rename = $_SESSION['imgArrayName'][$index];
          $rename = $rename.".".end($temp);
        }

      if ($_SESSION['imgArrayFile'][$index]["error"] > 0)
        {
        echo "Return Error Code: " . $_SESSION['imgArrayFile'][$index]["error"] . "<br>";
        }
      else
        {
        $size = display_filesize($_SESSION['imgArrayFile'][$index]["size"]);
        echo "Upload: " . $_SESSION['imgArrayFile'][$index]["name"] . "<br>";
        echo "Type: " . $_SESSION['imgArrayFile'][$index]["type"] . "<br>";
        echo "Size: " . ($size) . "<br>";
        echo "Temp file: " . $_SESSION['imgArrayFile'][$index]["tmp_name"] . "<br>";

        if (file_exists($galery_img_folder."/".$rename))
          {
          $error[] = ''.$rename.' <span class="error" id="error"> this name exsists </span>';
          }
        else
          {
          $_FILES["file"]["tmp_name"]=$_SESSION['imgArrayFile'][$index]["tmp_name"];
          move_uploaded_file($_FILES["file"]["tmp_name"], $galery_img_folder."/".$rename);
          //now make use of the file_get_content variables
          $file= $galery_img_folder."/".$rename;
          $fp=fopen($file,"w");
          fwrite($fp,$_SESSION['obj_image_session'][$index]);
        }
          }
        }
      }
    else
      {
      $error[] = '<span class="error" id="error"> Niewłaściwy plik </span>';
      $maxsixe = display_filesize(104857600);
      echo "Size: " . ($maxsixe) . "<br>";
      }
    }
  }//end foreach ! ! ! 
}//end dodawanie zdjecia
?>

, , , , .

!

+1

All Articles