我有一段php读取file类型表单代码如下:
<? 
echo "1<br>";
echo $_SERVER["REQUEST_METHOD"]."<br>";
echo "file_img_arry:";
echo $_FILES["file_img"]."<br>";
echo "file_img_name:";
echo $_FILES["file_img"]["name"]."<br>"; 
echo "file_img_type:";
echo $_FILES["file_img"]["type"]."<br>"; 
echo "file_img_size:";
echo $_FILES["file_img"]["size"]."<br>"; ?> 
<p align="center">图片上传</p> 
<form name="form1" action="" method="post" enctype="multipart/form-data"> 
<table width="90%" border="0" cellspacing="1" cellpadding="0" align="center"> 
<tr><td align="center"><input type="file" name="file_img"  id="file_img"><p>(只能上传GIF/JPEG图片,文件不能大于500K)<p> 
<input type="submit" name="Submit" value="开始上传" class="input2"></td></tr> 
</table> 
</form> 在本地没问题,可上传空间后,不能读取$_FILES["file_img"]的值,我怀疑空间是unix系统,而我本地是xp系统引起的问题,刚刚学习php,请高手指点!

解决方案 »

  1.   

    不能读取是什么意思?那些echo打出什么了?
    action="<?=$_SERVER['PHP_SELF']?>"
    试试
      

  2.   

    echo $_SERVER["REQUEST_METHOD"]." <br>";  结果是post
    echo $_FILES["file_img"]." <br>";   结果是:啥也看不到。
    echo $_FILES["file_img"]["name"]." <br>";  结果是:啥也看不到。
    echo $_FILES["file_img"]["type"]." <br>";  结果是:啥也看不到。
    echo $_FILES["file_img"]["size"]." <br>";  结果是:啥也看不到。
    多谢,回复。
    至于,runffer_yang让我测的action=" <?=$_SERVER['PHP_SELF']?>" ,提示错误:Parse error: parse error in E:\web\php1\uploadpic.php on line 12
    我是如下方式加入的代码:
    <? 
    echo "1<br>";
    echo $_SERVER["REQUEST_METHOD"]."<br>";
    echo "file_img_arry:";
    echo count($_FILES["FILE_IMG"])."<br>";
    echo "file_img_name:";
    echo $_FILES["file_img"][0]."<br>"; 
    echo "file_img_type:";
    echo $_FILES["file_img"][1]."<br>"; 
    echo "file_img_size:";
    echo $_FILES["file_img"][2]."<br>"; 
    <script>
    action=" <?=$_SERVER['PHP_SELF']?>" ;
    document.write(action);
    </script>?> 
      

  3.   

    echo $_FILES['userfile']['error'];
    查看错误码.或者register_global 是否开启.
      

  4.   

    echo $_FILES['userfile']['error']; 
    或者echo $_FILES['file_img']['error']; 
    啥也看不见。echo PHP_VERSION;
    显示:5.2.8。
    请高手们根据上面的信息,给我指点指点!
    多谢!
      

  5.   

    至于register_global 是否开启,本地应该没问题,因为我在本地调试没问题,上传到空间后有问题。
    给我感觉好像空间不支持$_FILES。
    不知道如何察看空间的register_global 是否开启?
      

  6.   

    谢谢指点,var_dump($_FILES);在本地会显示上传文件的相关信息:
    array(1) { ["file_img"]=> array(5) { ["name"]=> string(36) "fde785b63d9e7620919b53f1ffbff8cc.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(25) "C:\WINDOWS\Temp\php97.tmp" ["error"]=> int(0) ["size"]=> int(194603) } }
    可上传到空间后,只能显示array(0),不知道为什么?
      

  7.   

    谢谢指点,var_dump($_FILES);在本地会显示上传文件的相关信息: 
    array(1) { ["file_img"]=> array(5) { ["name"]=> string(36) "fde785b63d9e7620919b53f1ffbff8cc.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(25) "C:\WINDOWS\Temp\php97.tmp" ["error"]=> int(0) ["size"]=> int(194603) } } 
    可上传到空间后,只能显示array(0){},不知道为什么?
      

  8.   

    看看apache的错误日志。
    看看/tmp等临时空间是否已满。
    看看apache对/tmp是否有写权限。
    你这个问题应该是系统配置问题。
      

  9.   

    谢谢wildlily980的指点,关于你说的:
    看看apache的错误日志。 
    看看/tmp等临时空间是否已满。 
    看看apache对/tmp是否有写权限。 
    空间上的这些配置怎么看呢?
      

  10.   

    用phpinfo查看file_uploads是否为ON
      

  11.   

    file_uploads为off,
    如何设置空间的file_uploads是否为ON呢?
    多谢指点!
      

  12.   

    不过我用的空间是一个国外免费的空间,有办法设置php.ini中file_uploads = On吗?
    多谢指点!
      

  13.   

    如果不能设置php.ini中file_uploads = On,还有其他办法上传图片吗?
      

  14.   

    你先把你本地的这个file_uploads = Off,看是否仍合适,仍合适,说明不是这个问题,就是上传后文件所在临时文件夹没有写权限
      

  15.   

    把本地的file_uploads 设成 Off后,确实不行。
    看样子是受空间限制,不知道还有其他办法吗?
      

  16.   

    联系空间提供商,让他们把file_uploads = On