array_push
(PHP 4, PHP 5)array_push --  将一个或多个单元压入数组的末尾(入栈) 
说明
int array_push ( array &array, mixed var [, mixed ...] )
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同: <?php
$array[] = $var;
?>  
并对每个 var 重复以上动作。 返回数组新的单元总数。 例子 1. array_push() 例子<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>  本例将使 $stack 具有如下单元: Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)  
 
注: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。 注: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。 

解决方案 »

  1.   

    不好意思,上面的那个是发给另一个问题的答案.楼主的问题
    $destfile = '/img/'.basename($_FILES['avatarfile']['name']);$destfile不对,应该是如d:\wwwroot\myweb\.....
    这样的开始的字符.不知道,这样讲,你能否理解.也就是说,这个路径一定要能够让php直接访问到才可以
      

  2.   

    建议你把move_uploaded_file前的@去掉,看一下报的是什么错误.用相对路径应该是没什么问题的
      

  3.   

    Warning: move_uploaded_file(/img/gs (1).gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in F:\PHP\test.php on line 5Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\TEMP\php17.tmp' to '/img/gs (1).gif' in F:\PHP\test.php on line 5就是因为用了相对路径的错。。但是。。我看书上这么写的
    改成:$destfile = $_SERVER['DOCUMENT_ROOT'].'/img/'.basename($_FILES['avatarfile']['name']);就没有错了可是为什么不能用相对路径啊!
      

  4.   

    那会不会是服务器设置的问题?要不你在/img/前加一个.试试
      

  5.   

    你的img目录和test.php是不是都在网站的根目录下?
    ./就是表明他们在相同的目录下的意思吧?
    其实我也是不太懂,一起讨论一下说不定就能明白了