2009-12-07 111 views
1
function getExtension($str) { 
     $i = strrpos($str,"."); 
     if (!$i) { return ""; } 
     $l = strlen($str) - $i; 
     $ext = substr($str,$i+1,$l); 
     return $ext; 
} 

define ("MAX_SIZE","2000"); 

if(isset($_FILES['file_upload'])) 
{ 

$errors=0; 
$image=$_FILES['file_upload']['name']; 
if ($image) 
{ 
    $filename = stripslashes($_FILES['file_upload']['name']); 
    $extension = getExtension($filename); 
    $extension = strtolower($extension); 
    if (($extension != "jpg") && ($extension != "bmp") && ($extension != "png") && ($extension != "gif")) 
     { 
      echo '<h1>Unknown extension!</h1>'; 
      $errors=1; 
     } 
    else 
     { 
      $size=filesize($_FILES['file_upload']['tmp_name']); 
      if ($size > MAX_SIZE*1024) 
      { 
       echo '<h1>You have exceeded the size limit!</h1>'; 
       $errors=1; 
      } 
       $random_name=md5(uniqid(mt_rand(), true)).'.'.$extension; 
       $from=$_FILES['file_upload']['tmp_name'];    
       $newname='"temp_images/'.$random_name.'"';      
       rename($from, $newname);  Problm is here????? 
            //move_uploaded_file($from, $newname); Even tried this 

      } 
}  

}在php上传脚本的问题?

我不知道为什么图像中没有temp_images移动folder..Can人帮助me.Thanks提前。

编辑:

HTML表单:

<form name="form_upload" action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data"> 
             <table class='nryo_modal_div_table' align='center'> 
<tr> 
<td align='left' class='response_color_ok'> 
Select File: 
    </td>            </tr>          <tr> 

+0

你可以发布你的HTML表单呢? – Jage 2009-12-07 07:35:33

回答

1

确保temp_images文件夹有写权限; chmod设置为755.

另请确保您在用于上传图像的表单上指定了enctype = multipart

+0

我从来不关心文件夹的权限,我使用Windows和Apache,我们只是创建一个文件夹,并编写代码。默认情况下,当我使用这样的代码,它总是工作..我不知道在这个时候会发生什么 – 2009-12-07 07:43:44

+0

如果该代码一直工作,并且不在新的文件夹或项目上工作,它几乎肯定是一个权限问题。 – jaywon 2009-12-07 07:46:40

+0

我怎样才能更改文件夹的权限使用PHP脚本..? – 2009-12-07 07:51:14

0

您可能需要尝试使用move_uploaded_file函数代替重命名函数。正如sarfraz所指出的,还要检查temp_images文件夹是否具有适当的权限设置。

像这样的东西是什么,我通常做:

if(move_uploaded_file($_FILES['file_upload']['tmp_name'], $newname)) { 
    //move okay 
}else{ 
    //move not okay 
} 

更改文件夹的权限编程来看看PHP函数chmod()

+0

我如何更改使用PHP脚本的文件夹的权限.. !!! – 2009-12-07 07:50:40

+0

更改文件夹的权限programcomcally查看PHP中的chmod()函数 – jaywon 2009-12-07 19:29:00