By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,921 Members | 1,493 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,921 IT Pros & Developers. It's quick & easy.

image uploading script

Raju B
P: 11
hi friends
i had written a code for uploading image.but it showing error like failed to open stream on line 61.please go through my code and suggest me.
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. //include 'include/dbconnect.php';
  3.  
  4. //define a maxim size for the uploaded images in Kb
  5.  define ("MAX_SIZE","1000");
  6.  
  7. //This function reads the extension of the file. It is used to determine if the file  is an image by checking the extension.
  8.  function getExtension($str) {
  9.          $i = strrpos($str,".");
  10.          if (!$i) { return ""; }
  11.          $l = strlen($str) - $i;
  12.          $ext = substr($str,$i+1,$l);
  13.          return $ext;
  14.  }
  15.  
  16. //This variable is used as a flag. The value is initialized with 0 (meaning no error  found) 
  17. //and it will be changed to 1 if an errro occures. 
  18. //If the error occures the file will not be uploaded.
  19.  $errors=0;
  20. //checks if the form has been submitted
  21.  if(isset($_POST['submit']))
  22.  {
  23.      //reads the name of the file the user submitted for uploading
  24.      $image=$_FILES['image']['name'];
  25.      $name=$_POST['imagename'];
  26.      //if it is not empty
  27.      if ($image)
  28.      {
  29.      //get the original name of the file from the clients machine
  30.          $filename = stripslashes($_FILES['image']['name']);
  31.      //get the extension of the file in a lower case format
  32.           $extension = getExtension($filename);
  33.          $extension = strtolower($extension);
  34.      //if it is not a known extension, we will suppose it is an error and will not  upload the file, 
  35.     //otherwise we will do more tests
  36.  if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
  37.          {
  38.         //print error message
  39.              $result="cant upload,as you have chosen a incorrect file";
  40.              $errors=1;
  41.          }
  42.          else
  43.          {
  44. //get the size of the image in bytes
  45.  //$_FILES['image']['tmp_name'] is the temporary filename of the file
  46.  //in which the uploaded file was stored on the server
  47.  $size=filesize($_FILES['image']['tmp_name']);
  48.  
  49. //compare the size with the maxim size we defined and print error if bigger
  50. if ($size > MAX_SIZE*1024)
  51. {
  52.     $result="you exceeded the file size to upload";
  53.     $errors=1;
  54. }
  55.  
  56. //we will give an unique name, for example the time in unix time format
  57. $image_name=$name.'.'.$extension;
  58. //the new name will be containing the full path where will be stored (images folder)
  59. $newname="images/".$image_name;
  60. //we verify if the image has been uploaded, and print error instead
  61. $copied = copy($_FILES['image']['tmp_name'], $newname);
  62.  
  63. if (!$copied)
  64. {
  65.     $result="cant upload try after some time";
  66.     $errors=1;
  67. }
  68.      }}
  69.      else
  70.      $result_error="please select an image to upload";
  71.      }
  72.  
  73. //If no errors registred, print the success message
  74.  if(isset($_POST['submit']) && !$errors && $image)
  75.  {
  76.  
  77.    $result="image uploaded successfully";
  78.  }
  79.  
  80.  ?>
  81. <html>
  82. <head>
  83. <style>
  84. #button{position:absolute;margin-left:323px;margin-top:13px;}
  85. #result{position:absolute;margin-left:170px;margin-top:75px;width:400px;color:green;}
  86. #result_error{position:absolute;margin-left:170px;margin-top:75px;width:400px;color:red;}
  87.  
  88. </style>
  89. </head>
  90. <body>
  91. <FORM METHOD=POST ENCTYPE="multipart/form-data" ACTION="#">
  92. Select the image :<INPUT TYPE=FILE NAME="image"><BR>
  93. <input type="text" name="imagename"><br>
  94. <INPUT TYPE=SUBMIT name="submit" id="button" VALUE="Upload">
  95. </FORM>
  96. <div id="result"><?php echo $result;?></div>
  97. <div id="result_error"><?php echo $result_error;?></div>
  98.  
  99. </body>
  100.  
  101. </html>
  102.  
  103.  
  104.  
  105. </div>
  106.  
  107. </body>
  108. </html>
  109.  
  110.  
Sep 8 '10 #1
Share this Question
Share on Google+
3 Replies


P: 67
Hello Raju B,

I had made some changes in your script. Please go through it.

Please use proper HTML tags that I had not changed otherwise may be it will create problems.

Regards,
Mayur Bhayani
Expand|Select|Wrap|Line Numbers
  1.  
  2. <?php
  3. //include 'include/dbconnect.php';
  4.  
  5. //define a maxim size for the uploaded images in Kb
  6.  define ("MAX_SIZE","1000");
  7.  
  8. //This function reads the extension of the file. It is used to determine if the file  is an image by checking the extension.
  9.  function getExtension($str) {
  10.          $i = strrpos($str,".");
  11.          if (!$i) { return ""; }
  12.          $l = strlen($str) - $i;
  13.          $ext = substr($str,$i+1,$l);
  14.          return $ext;
  15.  }
  16.  
  17. //This variable is used as a flag. The value is initialized with 0 (meaning no error  found) 
  18. //and it will be changed to 1 if an errro occures. 
  19. //If the error occures the file will not be uploaded.
  20.  $errors=0;
  21. //checks if the form has been submitted
  22.  if(isset($_POST['submit']))
  23.  {
  24.      //reads the name of the file the user submitted for uploading
  25.      $image=$_FILES['image']['name'];
  26.      $name=$_POST['imagename'];
  27.      //if it is not empty
  28.      if ($image)
  29.      {
  30.      //get the original name of the file from the clients machine
  31.          $filename = stripslashes($_FILES['image']['name']);
  32.      //get the extension of the file in a lower case format
  33.           $extension = getExtension($filename);
  34.          $extension = strtolower($extension);
  35.      //if it is not a known extension, we will suppose it is an error and will not  upload the file, 
  36.     //otherwise we will do more tests
  37.  if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
  38.          {
  39.         //print error message
  40.              $result="cant upload,as you have chosen a incorrect file";
  41.              $errors=1;
  42.          }
  43.          else
  44.          {
  45. //get the size of the image in bytes
  46.  //$_FILES['image']['tmp_name'] is the temporary filename of the file
  47.  //in which the uploaded file was stored on the server
  48.  $size=$_FILES['image']['size'];
  49.  
  50. //compare the size with the maxim size we defined and print error if bigger
  51. if ($size > MAX_SIZE*1024)
  52. {
  53.     $result="you exceeded the file size to upload";
  54.     $errors=1;
  55. }
  56.  
  57. //we will give an unique name, for example the time in unix time format
  58. $image_name=$name.'.'.$extension;
  59. //the new name will be containing the full path where will be stored (images folder)
  60. $newname="images/".$image_name;
  61. //we verify if the image has been uploaded, and print error instead
  62. $copied = copy($_FILES['image']['tmp_name'], $newname);
  63.  
  64. if (!$copied)
  65. {
  66.     $result="cant upload try after some time";
  67.     $errors=1;
  68. }
  69.      }}
  70.      else
  71.      $result_error="please select an image to upload";
  72.      }
  73.  
  74. //If no errors registred, print the success message
  75.  if(isset($_POST['submit']) && !$errors && $image)
  76.  {
  77.  
  78.    $result="image uploaded successfully";
  79.  }
  80.  
  81.  ?>
  82. <html>
  83. <head>
  84. <style>
  85. #button{position:absolute;margin-left:323px;margin-top:13px;}
  86. #result{position:absolute;margin-left:170px;margin-top:75px;width:400px;color:green;}
  87. #result_error{position:absolute;margin-left:170px;margin-top:75px;width:400px;color:red;}
  88.  
  89. </style>
  90. </head>
  91. <body>
  92. <FORM METHOD=POST ENCTYPE="multipart/form-data" ACTION="#">
  93. Select the image :<INPUT TYPE=FILE NAME="image"><BR>
  94. <input type="text" name="imagename"><br>
  95. <INPUT TYPE=SUBMIT name="submit" id="button" VALUE="Upload">
  96. </FORM>
  97. <div id="result"><?php if(!empty($result)) echo $result;?></div>
  98. <div id="result_error"><?php if(!empty($result_error)) echo $result_error;?></div>
  99.  
  100. </body>
  101.  
  102. </html>
  103.  
  104.  
  105.  
  106. </div>
  107.  
  108. </body>
  109. </html>
  110.  
Sep 8 '10 #2

Raju B
P: 11
thank you mayur,
but html tags are not a problem here, because still it is showing same error.
Sep 8 '10 #3

HaLo2FrEeEk
100+
P: 404
On line 61, where you are recieving the error, replace the copy() function with move_uploaded_file(). copy() doesn't have access to the temporary upload directory, but move_uploaded_file() specifically created for that purpose.
Sep 8 '10 #4

Post your reply

Sign in to post your reply or Sign up for a free account.