login  Naam:   Wachtwoord: 
Registreer je!
 Forum

upload scriptje hulp

Offline gwenn - 25/04/2006 11:53
Avatar van gwennGouden medaille

Grafische interesse
Ben bezig een uploadscriptje aan het maken. Nu heb ik al een deel van wat ik wil gevonden.

- Nu zouden er nog de volgende functies moeten bijkomen:
->autonummering zowel thums/images
->autoresize "waarden blijven behouden"
->linken met een database bijvoorbeeld voor gebruik bij een forum
->ondersteuning van jpg, gif, png, jpeg

De functie om te kiezen hoeveel afbeeldingen je wilt uploaden staat er al in.


  1. <?php
  2. $upload_directory = "images/thumbs"; // hier word de foto eerst geupload!
  3. $save_dir = "images/"; // hier word de foto opgeslagen!
  4.  
  5. $max_uploads = "2"; // max uploads
  6.  
  7. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  8. {
  9. if ($_POST['files'])
  10. {
  11. printf('<form method="post" action="%s" enctype="multipart/form-data">', '?page=admin&link=upload');
  12. for ($i = 1; $i <= $_POST['files']; $i++)
  13. {
  14. printf('<input type="file" name="file_%s" size="100"><br />', $i);
  15. }
  16. printf('<input type="button" onclick="javascript: history.back(-1);" value="Cancel">');
  17. printf('<input type="submit" value="Upload bestanden">');
  18. printf('<input type="hidden" name="history_files" value="%s">', $_POST['files']);
  19. printf('</form>');
  20. }
  21. else
  22. {
  23. printf('<h3>Resultaten:</h3>');
  24. printf('Bestanden geupload naar: %s<br /><br />', $upload_directory);
  25. printf('<table border="1">');
  26. for ($i = 1; $i <= $_POST['history_files']; $i++)
  27. {
  28. $tmp_filename = $_FILES['file_'.$i]['tmp_name'];
  29. $filename = $_FILES['file_'.$i]['name'];
  30. if (move_uploaded_file($tmp_filename, $upload_directory.'/'.$filename))
  31. {
  32. $status = 'Verzonden...';
  33.  
  34. $up_file = $upload_directory.'/'.$filename;
  35. $srcimage = imagecreatefromjpeg($up_file);
  36. $width = imageSX($srcimage);
  37. $height = imageSY($srcimage);
  38. if($width <= 250 && $height <= 250){
  39. $t_width=$width;
  40. } else {
  41. if ($height < $width){
  42. $t_width = 650;
  43. }
  44. else {
  45. $t_width = 400;
  46. }
  47. }
  48. $newh1= $height / $width;
  49. $newh2= $newh1 * $t_width;
  50. $destimage = imagecreatetruecolor($t_width,$newh2);
  51. imagecopyresampled($destimage,$srcimage,0,0,0,0,$t_width,$newh2,$width,$height);
  52. ImageJPEG($destimage,'',100);
  53. $buffer = ob_get_contents();
  54. $file=$save_dir.'/'.$filename;
  55. $handle = fopen($file, 'ab');
  56. fwrite($handle, $buffer);
  57. fclose($handle);
  58. $delete=$upload_directory.'/'.$filename;
  59. @unlink($delete);?>
  60. <?
  61. }
  62. else
  63. {
  64. $status = 'Fout!';
  65. }
  66. printf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>', $i, ($filename)?$filename:'&nbsp;', $status);
  67. }
  68. printf('</table>');
  69. }
  70. }
  71. else
  72. {
  73. printf('<form method="post" action="%s">', '?page=admin&link=upload');
  74. printf('Aantal upload velden: ');
  75. printf('<select name="files">');
  76. for ($i = 1; $i <= $max_uploads; $i++)
  77. {
  78. printf('<option value="%1$s">%1$s', $i);
  79. }
  80. printf('</select> ');
  81. printf('<input type="submit" value="Creëer velden">');
  82. printf('</form>');
  83. }
  84. ?>

2 antwoorden

Gesponsorde links
Offline TriX - 25/04/2006 12:18
Avatar van TriX HTML interesse Wat wil je nou precies?
Offline Slipie - 25/04/2006 12:55
Avatar van Slipie PHP beginner nou die auto nummering kan je toevoegen door aan
  1. if (move_uploaded_file($tmp_filename, $upload_directory.'/'.$filename))


$i toe te voegen.

Resizen kan met behulp van gdlibrary
(zie http://www.site...amp;id=191)

Linken met een database lijkt me niet zo moeilijk (gewoon een query toevoegen)

En verschillende filetypes ondersteuenen kan je doen dmv mime-types

Maar waarom stel je deze vragen?
Als je dit script zelf hebt geschreven dan lijkt het me niet al te moeilijk om die functies er zelf in te bouwen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.22s