for($i=1;$i<=10;$i++) 
{
$tmp = $photo_file.$i;
$photo_file=$$tmp;
$srcfile=$photo_file_name;
}

解决方案 »

  1.   

    echo $srcfile;//为何还是空的啊.请问"$$tmp"是什么意思?
      

  2.   

    for($i=1;$i<=10;$i++) 
    {
    $tmp = "photo_file$i";
    $photo_file=$$tmp;
    $srcfile=$photo_file_name;
    }
      

  3.   

    for($i=1;$i<=10;$i++) 
    {
    $photo_file=$photo_fle.$i;
    $srcfile=$photo_file_name;
    }
    $srcfile=$photo_file_name;这句是什么?$photo_file_name在什么地方初始化的?
    改为 $srcfile = $photo_file['name']试试
      

  4.   

    我用$srcfile=$photo_file_name;来取到文件名,可以
    但现在我想设计一个同时上传10个图片的上传程序.那么这10个上传的文件名应该是
    $srcfile=$photo_file1_name;
    $srcfile=$photo_file2_name;
    $srcfile=$photo_file3_name;
    $srcfile=$photo_file4_name;
    ...在循环中写作(设$i为循环变量)
    $srcfile=${"photo_file$i_name"};其他类推
      

  5.   

    xuzuning(唠叨),你这样写也是只有空值啊.部分原程序:
    <?
    if(isset($submit)) 
    {
     for($i=1;$i<=10;$i++) 
    {

    $srcfile=${"photo_file$i_name"};
    //$tmp=$photo_file.$i;
    //$photo_file=$$tmp;
    //$srcfile=$photo_file_name;
                        $filebase=basename($srcfile);
    }
    echo $filebase;
    exit;
    ?>
      

  6.   

    这是asp的文件(是vbscript语言),你自己改成php试试看for each formName in upload.objFile  '列出所有上传了的文件
    formPath=""
    set file=upload.file(formName)  ''生成一个文件对象
    if file.filename<>"" then
    if file.fileSize<=0 and file.FileSize>500000 then
    response.Write("<script>alert ('对不起,上传的文件大小不符');history.go(-1)</script>")
    response.End
    else
    file.FileName=trim(file.FileName)
    Up_File_Ext=right(file.FileName,len(file.FileName)-InStrRev(file.FileName,"."))
    new_file_name=now_date_array(0)+"_"+makePassword(10)+"."+Up_File_Ext
    'response.write new_file_name&"<br>"
    'response.End()
    if LCase(Up_File_Ext) = "gif" or LCase(Up_File_Ext)="jpeg" or LCase(Up_File_Ext)="jpg"  then 
    file.SaveAs Server.mappath(formPath&new_file_name)   ''保存文件
    Info_photo(i)=new_file_name

    else
    response.Write("<script>alert ('上传的文件类型不对!请重新上传');history.go(-1)</script>")
    response.End
    end if
    i=i+1
    end if
    end if 
    next
      

  7.   

    这样改不了,语法都不同,PHP取上传文件是"文件路径_name",但vbscript可以全部作为一个对象.
    我现在就是在取上传文件路径取不到.要是单单上传一个可以,以前我是把程序重复写5次(同时上传5个).但这方法确实太笨了,所以现在想用循环写.
    是不是没有人这样做过?
      

  8.   

    我这样写:
    $photo_file=${"photo_file".$i};
    $srcfile=$photo_file_name;$photo_file就等于:
    C:\DOCUME~1\amos\LOCALS~1\Temp\php283.tmp,照理应该对.因为不用循环$photo_file1也等于:
    C:\DOCUME~1\amos\LOCALS~1\Temp\php292.tmp但echo $srcfile;就是空的.不用循环就正常显示:001.jpg
      

  9.   

    呵呵!忽视了下划线也是变量名的一部分
    这样写
    $srcfile=${"photo_file{$i}_name"};测试代码
    <?php
    $photo_file1_name = 'test';
    $i = 1;
    echo $srcfile=${"photo_file{$i}_name"};
    ?>
      

  10.   

    晕,php什么时侯改成PHP取上传文件是"文件路径_name"啦,才半年不搞就全变样啦?
      

  11.   

    最后知道这样才行,所以大家没有分
    for($i=0;$i<=18;$i++){ 
    if(@copy($HTTP_POST_FILES['a']['tmp_name'][$i],$HTTP_POST_FILES['a']['name'][$i]))$j++;
    }
    echo "上传成功 $j 个文件";