2011-05-04 45 views
1

哎,我没有太大的PHP编码器PHP:无法上传文件到服务器

我使用以下上传文件到服务器的ACN任何机构帮助我什么是错,此代码

<?php 

$uploaddir = './uploads/'; 
$file = basename($_FILES['userfile']['name']); 
$uploadfile = $uploaddir . $file; 

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
     echo "http://iphone.zcentric.com/uploads/{$file}"; 
} 

?> 

Thanx提前

+2

您能告诉我们,当你运行该代码会发生什么? ./uploads/目录是否存在*和*可写?代码运行时是否存在$ _FILES ['userfile']?是否有任何PHP错误报告? PS:我不认为basename()是必要的。 – gd1 2011-05-04 14:06:16

+0

是的,我得到一个PHP错误 – 2011-05-04 14:24:05

+0

将它们粘贴到您的问题中,所有这些都完全按照它们的显示。通过使用PHP将文本文件写入该目录,验证./uploads/目录是可写的。我敢打赌,如果你与我们合作,我们可以解决这个问题! :) – gd1 2011-05-04 14:25:12

回答

2

我没有看到PHP代码有什么问题,虽然没有错误,但很难说出发生了什么。

出头,可能导致上传不工作,并且可能不会返回错误:

  1. 确保您在表单标签有enctype="multipart/form-data

    <form enctype="multipart/form-data" action="__URL__" method="POST">

  2. 确保PHP是通过调整以下PHP ini变量来接受输入:

    http://us.php.net/manual/en/ini.core.php#ini.post-max-size http://us.php.net/manual/en/info.configuration.php#ini.max-input-time http://us.php.net/manual/en/ini.core.php#ini.upload-max-filesize

  3. 最后,确保权限正确两个临时文件夹上传(http://us.php.net/manual/en/ini.core.php#ini.upload-tmp-dir),并且您将文件移动到文件夹设置。如果它是Windows服务器,则可能会遇到继承问题,这将需要您更改默认的上载目录。

0

您可以发表什么错误你得到吗?你的代码看起来ok.Here上传文件夹必须留在你的代码运行的目录的上部。然后它应该工作。如果你的脚本文件夹就像这个/test/script/abc.php那么你的上传目录应该是/ t EST /上传。

+0

就是这样。而不是..答案的最后部分是不正确的 – gd1 2011-05-04 14:32:40

1
iF YOU WANT TO UPLOAD .pdf FILE TO LOCAL SERVER THEN USE THIS SIMPLE METHOD, Lets we are doing code here under Button Click Event... 


if (isset($_POST['submit'])) 
{ 

if (($_FILES["file"]["type"] =="application/pdf")) 
{ 

if (file_exists("C:/xampplite/htdocs/site/upload/" . $_FILES["file"]["name"])) 

    echo " This File is already exists in folder"; 
else 
{ 
    move_uploaded_file ($_FILES["file"]["tmp_name"],"C:/xampplite/htdocs/site/upload/" . $_FILES["file"]["name"]);  
    echo "File have been Stored in:-C:/xampplite/htdocs/site/upload/ " . $_FILES["file"]["name"]; 

    } 
} 

}//end of click_event 
+2

这是一个令人难以置信的,你的解决方案非常方便! – 2013-02-23 09:22:38

0
index.php 
<!DOCTYPE html> 
<html> 
<body> 

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload[]" id="fileToUpload" multiple=""> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

</body> 
</html> 
upload.php 
<?php 
//$target_dir = "uploads/"; 
/*$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
*/ 


if(count($_FILES['fileToUpload']['name']) > 0) 
{ 

     $i=0; 
     while($i<count($_FILES['fileToUpload']['name'])) 
     { 
      $filen = $_FILES["fileToUpload"]['name']["$i"]; 
      $path = 'uploads/'.$filen; 
      $imageFileType = pathinfo($path,PATHINFO_EXTENSION); 
      if (file_exists($path)) { 
      echo "Sorry, file already exists."; 
      }else if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
      && $imageFileType != "gif") { 
      echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 

      } 

       else if(move_uploaded_file($_FILES["fileToUpload"]['tmp_name']["$i"],$path)) 
       { 
       //echo "The file ". basename($_FILES["fileToUpload"]["name"]["$i"]). " has been uploaded."; 
       $files=$_FILES["fileToUpload"]["name"]["$i"]; 
       echo $files;?><img src="<?php echo $path;?>" style="width:200px;height:200px" alt="" > 
       <?php 
       } 
       $i++; 
      } 



} 
?> 
相关问题