Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: Modyfikacja skryptu uploadu
Forum PHP.pl > Forum > PHP
sparco
Witam, czy mogl by ktos zmodyfikowac ponizszy skrypt tak aby mozna bylo wgrywac tylko pkiki o okreslonym rozszerzeniu? Chodzi o rozszerzenia typu .jpg .gif .rar .zip itp.

Za pomoc dziekuje.


  1. <?php
  2.  
  3. $site_name = $_SERVER['HTTP_HOST'];
  4. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  5. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  6.  
  7. $upload_dir = "upload_files/";
  8. $upload_url = $url_dir."/upload_files/";
  9. $message ="";
  10.  
  11. //create upload_files directory if not exist
  12. //If it does not work, create on your own and change permission.
  13. if (!is_dir("upload_files")) {
  14.  die ("upload_files directory doesn't exist");
  15. }
  16.  
  17. if ($_FILES['userfile']) {
  18.  $message = do_upload($upload_dir, $upload_url);
  19. }
  20. else {
  21.  $message = "Invalid File Specified.";
  22. }
  23.  
  24. print $message;
  25.  
  26. function do_upload($upload_dir, $upload_url) {
  27.  
  28.  $temp_name = $_FILES['userfile']['tmp_name'];
  29.  $file_name = $_FILES['userfile']['name']; 
  30.  $file_type = $_FILES['userfile']['type']; 
  31.  $file_size = $_FILES['userfile']['size']; 
  32.  $result = $_FILES['userfile']['error'];
  33.  $file_url = $upload_url.$file_name;
  34.  $file_path = $upload_dir.$file_name;
  35.  
  36.  //File Name Check
  37. if ( $file_name =="") { 
  38.  $message = "Invalid File Name Specified";
  39.  return $message;
  40. }
  41. //File Size Check
  42. else if ( $file_size > 500000) {
  43. $message = "The file size is over 500K.";
  44. return $message;
  45. }
  46. //File Type Check
  47. else if ( $file_type == "text/plain" ) {
  48. $message = "Sorry, You cannot upload any script file" ;
  49. return $message;
  50. }
  51.  
  52. $result = move_uploaded_file($temp_name, $file_path);
  53. $message = ($result)?"File url <a href=$file_url>$file_url</a>" :
  54.  "Somthing is wrong with uploading a file.";
  55.  
  56. return $message;
  57. }
  58. ?>
  59. <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
  60. Upload Image<input type="file" id="userfile" name="userfile">
  61. <input type="submit" name="upload" value="Upload">
  62. </form>
Nilhir
Na poczatku masz tablice z dozwolonymi rozszerzeniami
  1. <?php
  2.  
  3. $site_name = $_SERVER['HTTP_HOST'];
  4. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  5. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  6.  
  7. $upload_dir = "upload_files/";
  8. $upload_url = $url_dir."/upload_files/";
  9. $message ="";
  10.  
  11. $allowed_ext = array("jpg", "gif", "png", "zip", "rar"); 
  12.  
  13. //create upload_files directory if not exist
  14. //If it does not work, create on your own and change permission.
  15. if (!is_dir("upload_files")) {
  16.  die ("upload_files directory doesn't exist");
  17. }
  18.  
  19. if ($_FILES['userfile']) {
  20.  $message = do_upload($upload_dir, $upload_url);
  21. }
  22. else {
  23.  $message = "Invalid File Specified.";
  24. }
  25.  
  26. print $message;
  27.  
  28. function do_upload($upload_dir, $upload_url) {
  29. global $allowed_ext;
  30.  $temp_name = $_FILES['userfile']['tmp_name'];
  31.  $file_name = $_FILES['userfile']['name']; 
  32.  $file_type = $_FILES['userfile']['type']; 
  33.  $file_size = $_FILES['userfile']['size']; 
  34.  $result = $_FILES['userfile']['error'];
  35.  $file_url = $upload_url.$file_name;
  36.  $file_path = $upload_dir.$file_name;
  37.  $ext = explode(".", $file_name);
  38.  $last = $last = count($ext) - 1;
  39.  
  40.  if (!in_array($ext[$last], $allowed_ext))
  41. die("niedozwolone rozszerzenie");
  42.  
  43.  //File Name Check
  44. if ( $file_name =="") { 
  45.  $message = "Invalid File Name Specified";
  46.  return $message;
  47. }
  48. //File Size Check
  49. else if ( $file_size > 500000) {
  50. $message = "The file size is over 500K.";
  51. return $message;
  52. }
  53. //File Type Check
  54. else if ( $file_type == "text/plain" ) {
  55. $message = "Sorry, You cannot upload any script file" ;
  56. return $message;
  57. }
  58.  
  59. $result = move_uploaded_file($temp_name, $file_path);
  60. $message = ($result)?"File url <a href=$file_url>$file_url</a>" :
  61.  "Somthing is wrong with uploading a file.";
  62.  
  63. return $message;
  64. }
  65. ?>
  66. <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
  67. Upload Image<input type="file" id="userfile" name="userfile">
  68. <input type="submit" name="upload" value="Upload">
  69. </form>
sparco
Wywala mi taki balad nawet jak dam dobre rozszerzenie:

Warning: in_array(): Wrong datatype for second argument in c:\usr\krasnal\www\upload\simple_upload.php on line 70
niedozwolone rozszerzenie
Nilhir
Spróbuj teraz skopiowaæ tamten kod winksmiley.jpg
sparco
Dziala, dzieki smile.gif
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.