CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

如何做循环?

楼主__00__(文昵称)2004-12-01 18:31:33 在 Web 开发 / PHP 提问

我在做一个上传的程序:  
  我用$srcfile=$photo_file_name;来取到文件名,可以  
   
  但现在我想设计一个同时上传10个图片的上传程序.  
  于是我这样:  
  for($i=1;$i<=10;$i++)    
  {  
  $photo_file=$photo_fle.$i;  
  $srcfile=$photo_file_name;  
  }  
  但我这样做echo不出值来,如何写啊?  
   
  本来这样  
  $srcfile1=$photo_file1_name;  
  $srcfile2=$photo_file2_name;  
  $srcfile3=$photo_file3_name;  
  ......  
  想用循环    
     
   
  表单中是这样的:  
  <form   method="POST"   enctype="multipart/form-data"   action="upphoto.php">  
  <input   type="file"   name="photo_file1"   size="60"   style="border:1px   solid   #FFFFFF;   ">  
  <input   type="file"   name="photo_file2"   size="60"   style="border:1px   solid   #FFFFFF;   ">  
  <input   type="file"   name="photo_file3"   size="60"   style="border:1px   solid   #FFFFFF;   ">  
  ......  
   
  </form>  
     
     
  问题点数:0、回复次数:14Top

1 楼Cain(一苇渡江)回复于 2004-12-01 18:38:52 得分 0

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

2 楼__00__(文昵称)回复于 2004-12-01 19:19:15 得分 0

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

3 楼Meteorlet(http://smartdict.cn)回复于 2004-12-01 20:30:09 得分 0

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

4 楼wxq4100798(aa)回复于 2004-12-01 20:56:30 得分 0

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']试试  
  Top

5 楼xuzuning(唠叨)回复于 2004-12-02 08:23:20 得分 0

我用$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"};  
   
  其他类推  
  Top

6 楼__00__(文昵称)回复于 2004-12-02 10:36:11 得分 0

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;  
  ?>  
   
  Top

7 楼__00__(文昵称)回复于 2004-12-02 14:11:46 得分 0

这个问题问了两天了,没有人搞得定么?Top

8 楼winter699()回复于 2004-12-02 14:16:19 得分 0

这是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  
  Top

9 楼__00__(文昵称)回复于 2004-12-02 14:26:42 得分 0

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

10 楼__00__(文昵称)回复于 2004-12-02 14:57:12 得分 0

我这样写:  
  $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  
  Top

11 楼xuzuning(唠叨)回复于 2004-12-02 15:55:41 得分 0

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

12 楼wxq4100798(aa)回复于 2004-12-02 17:03:22 得分 0

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

13 楼__00__(文昵称)回复于 2004-12-03 10:47:42 得分 0

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

14 楼wxq4100798(aa)回复于 2004-12-03 11:14:41 得分 0

晕,这不是和我一样嘛,怎么会没分呢,郁闷Top

相关问题

  • 如何做日期循环判断??
  • 想用一个循环来实现,请问如何做?
  • 请教如何在Struts中做循环显示??
  • 通过循环建立几个类?该如何做?
  • 如何分割一个字段,做成循环的样子
  • 在一个循环中执行某任务,如按S键盘,循环终止。VC中如何这样做?
  • 如何跳出循环
  • 如何循环a b c d........?
  • 如何退出循环?
  • 如何跳出循环

关键词

  • 文件
  • php
  • srcfile
  • photo
  • 路径
  • lcase
  • ext
  • 程序
  • 上传
  • filename

得分解答快速导航

  • 帖主:__00__

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo