login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bestanden uploaden naar FTP + thumbnails aanmaken

Offline sanderrebry - 27/06/2012 16:50
Avatar van sanderrebryLid Beste,

Ik ben momenteel bezig met een SWFupload script die bestanden upload naar mijn FTP-server. Graag had ik geweten hoe je thumbnails ook kunt aanmaken zonder die eerst naar de webserver te verplaatsen . Dus eigenlijk rechtstreeks bij het uploaden ook thumbnails aanmaken.

Hieronder het scriptje:
  1. $order_id = $_GET['get'];
  2. /* VERBINDING NAAR FTP-SERVER EN SQL DATABASE */
  3. include 'ftpconnectie.php';
  4. include 'sqlconnection.php';
  5. $map = "/temp_files/"; // tijdelijke bestanden in deze map plaatsen
  6. @ftp_chdir ($conn_id, $map);
  7.  
  8.  
  9. // Work-around for setting up a session because Flash Player doesn't send the cookies
  10. if (isset($_POST["PHPSESSID"])) {
  11. session_id($_POST["PHPSESSID"]);
  12.  
  13. }
  14.  
  15. if (!empty($_FILES)) // check of er bestanden zijn
  16. {
  17. // $order_id = rand(100000,999999);
  18.  
  19. if (ftp_mkdir($conn_id, $order_id)) // order map aanmaken onder temp_files
  20. {
  21.  
  22. } else // fout bij het aanmaken van order map
  23. {
  24. echo "Er is een probleem met aanmaken van ordermap $dir\n";
  25. }
  26.  
  27. @ftp_chdir ($conn_id, $order_id);
  28.  
  29. $tempFile = $_FILES['Filedata']['tmp_name'];
  30. $targetFile = $_FILES['Filedata']['name'];
  31. $upload = ftp_put($conn_id, $targetFile,$tempFile, FTP_BINARY);
  32.  
  33.  
  34.  
  35.  
  36.  
  37. }
  38.  
  39. if($upload)
  40. {
  41. $query = mysql_query("INSERT INTO printtoplate_bestelling (tmp_bestand,order_id) VALUES ('".$targetFile."','".$order_id."')");
  42.  
  43.  
  44. }
  45.  
  46.  
  47.  
  48. if (!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {
  49.  
  50. echo 'Er is een probleem met het uploaden ! Gelieve opnieuw te proberen.';
  51. }
  52.  
  53. exit(0);

3 antwoorden

Gesponsorde links
Offline vinTage - 28/06/2012 00:10
Avatar van vinTage Nieuw lid Zodra je file uploaded is, kun je met PHP.net: copy een copy maken van die file en er je verdere *handelingen mee doen.

*PHP.net: imagecreatefromjpeg
Offline sanderrebry - 28/06/2012 11:52 (laatste wijziging 28/06/2012 11:55)
Avatar van sanderrebry Lid Maar hoe kan ik dit precies doen zonder de jpg de downloaden naar mijn webserver.

Want als ik nu dit doe krijg ik alleen zwart thumbnails.
Maar als ik de originele afbeelding plaats op mijn webserver en daarmee test dan lukt het wel.
Dus het gaat verkeerd bij de afbeeldingen op te halen van de FTP-server.
  1. $order_id = $_GET['get'];
  2.  
  3. // THUMBNAIL SCRIPT
  4.  
  5. function ThumbFoto($bestand)
  6. {
  7. $order_id = $_GET['get'];
  8. list($breedte, $hoogte) = getimagesize($bestand);
  9. /* $imagearray = getimagesize($bestand);
  10. $breedte = $imagearray[0];
  11. $hoogte = $imagearray[1];
  12. */
  13. $max_hoogte = 90;
  14. $max_breedte = 120;
  15. if ($hoogte > $max_breedte || $hoogte > $max_hoogte)
  16. {
  17. if ($breedte / $hoogte > $max_breedte / $max_hoogte) // als de breedte te groot is
  18. {
  19. $breedtenieuw = $max_breedte;
  20. $a = $breedte / $max_breedte;
  21. $hoogtenieuw = round ($hoogte / $a);
  22. }
  23. else
  24. {
  25. $hoogtenieuw = $max_hoogte; // als de hoogte te groot is
  26. $a = $hoogte / $max_hoogte;
  27. $breedtenieuw = round($breedte / $a);
  28. }}
  29. else // als het plaatje precies groot genoeig is
  30. {
  31. $hoogtenieuw = $max_hoogte;
  32. $breedtenieuw = $max_breedte;
  33. }
  34. $img = imagecreatefromjpeg($bestand);
  35. $tmp_img = imagecreatetruecolor($breedtenieuw, $hoogtenieuw);
  36. imagecopyresized($tmp_img, $img,0,0,0,0,$breedtenieuw,$hoogtenieuw,$breedte,$hoogte);
  37. imagedestroy($img);
  38. $img = $tmp_img;
  39. header("Content-type: image/jpeg");
  40.  
  41. imagejpeg($img,"thumbs/".$order_id.$bestand);
  42. }
  43.  
  44.  
  45.  
  46. /* VERBINDING NAAR FTP-SERVER EN SQL DATABASE */
  47. include 'ftpconnectie.php';
  48. include 'sqlconnection.php';
  49.  
  50. $map = "/temp_files/"; // tijdelijke bestanden in deze map plaatsen
  51. @ftp_chdir ($conn_id, $map);
  52.  
  53.  
  54. // Work-around for setting up a session because Flash Player doesn't send the cookies
  55. if (isset($_POST["PHPSESSID"])) {
  56. session_id($_POST["PHPSESSID"]);
  57.  
  58. }
  59.  
  60. if (!empty($_FILES)) // check of er bestanden zijn
  61. {
  62. // $order_id = rand(100000,999999);
  63.  
  64. if (ftp_mkdir($conn_id, $order_id)) // order map aanmaken onder temp_files
  65. {
  66.  
  67. } else // fout bij het aanmaken van order map
  68. {
  69. echo "Er is een probleem met aanmaken van ordermap $dir\n";
  70. }
  71.  
  72. @ftp_chdir ($conn_id, $order_id);
  73.  
  74. $tempFile = $_FILES['Filedata']['tmp_name'];
  75. $targetFile = $_FILES['Filedata']['name'];
  76. $upload = ftp_put($conn_id, $targetFile,$tempFile, FTP_BINARY);
  77.  
  78.  
  79.  
  80.  
  81.  
  82. }
  83.  
  84. if($upload)
  85. {
  86. $query = mysql_query("INSERT INTO printtoplate_bestelling (tmp_bestand,order_id) VALUES ('".$targetFile."','".$order_id."')");
  87.  
  88. $contents = ftp_nlist($conn_id, $map."/".$order_id);
  89.  
  90. foreach ($contents as $value)
  91. {
  92. echo $value;
  93.  
  94.  
  95. ThumbFoto($value);
  96.  
  97. }
  98.  
  99. }
  100.  
  101. if (!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {
  102.  
  103. echo 'Er is een probleem met het uploaden ! Gelieve opnieuw te proberen.';
  104. }
  105.  
  106. exit(0);
Offline vinTage - 28/06/2012 18:35
Avatar van vinTage Nieuw lid PROBEER DE BESTANDEN EVEN EEN HOOGE CHMOD MEE TE GEVEN. (777 OFZO)


Het is capslockdag hoorde ik )
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s