2016-02-05 132 views
0

这里的是我使用文件上传不工作的远程服务器

<form action="index.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="file" id="file"><br><br> 
<input type="submit" value="submit" name="submit"> 
</form> 

PHP代码代码:

<?php 
$name = $_FILES['file']['name']; 
$tmp_name = $_FILES['file']['tmp_name']; 
$location = "/var/www/tmp/"; 
if(move_uploaded_file($tmp_name, $location.$name)){ 
    echo 'File uploaded successfully'; 
} else { 
    echo 'You should select a file to upload !!'; 
    } 
    ?> 

我检查了文件夹的权限,以及检查PHP .ini文件,但仍然总是我越来越'你应该选择一个文件上传'

任何人都可以请帮我在这个问题上?

非常感谢!

+0

你是否检查过php.ini中的最大文件大小? –

+0

感谢您的回复!是的,我确实已将最大文件大小从2M更改为128M。 – Kabhir

+0

你的'$ location'代表“到位置”或“从位置”? –

回答

1

给你的文件的完整路径这里

$location = "var/www/tmp/"; 

我认为它会工作。如果它确定,然后将您的服务器名称存储在一个变量中,并通过它。

+0

感谢您的回复!我尝试了你的建议,但我仍然处于虚假状态。 – Kabhir

+0

是的,先生,我试着去除'/',结果仍然是假的。其实我也尝试在Mac(OSX),但在那里我得到同样的结果。 – Kabhir

+0

我在Windows操作系统中执行此操作。它的未来很好。 – AAT

0

您现在的位置应该是这样的:

// document root will give you the server root then you can add any directory after that (in your case its tmp I guess) 
$location = $_SERVER['DOCUMENT_ROOT'] . '/your_preferred_dir/' 

注:当你提到你的首选位置,你将不得不作出 确保此位置应该存在,否则会引起错误。

而不是硬编码为您的,因为它可以从服务器更改为服务器。

希望这会有所帮助...

+0

你好sagar,我试过用上面的命令:$ location = $ _SERVER ['DOCUMENT_ROOT']。 '/ var/www/html/tmp /',但是它不会输出真正的错误。 – Kabhir

+0

你可以把你在错误日志中得到什么错误吗? –

相关问题