上传怎么和http扯上关系了,cd /

解决方案 »

  1.   

    首先访问ftp服务要用ftp协议
      

  2.   

    使用ftp_put()函数的时候,跟FTP当前目录没有关系,
    只要设定string remote_file, string local_file, 这两个
    参数的路径,就可以传了.不存在返回根目录的问题.如果楼主一定要所谓返回根目录,可以使用ftp_chdir()改变
    当前工作目录
      

  3.   

    lzkd(浪子快刀) 说得没有错!
    用ftp_chdir()改变
    当前工作目录!
      

  4.   

    我是想用ftp_chdir()改变当前目录问题是ftp_chdir()里边的第二个参数如何写才能返回上一层目录我现在已经在FTP服务器的根目录了,但我想访问这个根目录的上一层目录...请问如何解决呢? 多谢
      

  5.   

    我现在已经在FTP服务器的根目录了,但我想访问这个根目录的上一层目录...****************这已经超出PHP的范围了,这要你的供应商给你开权限才可以,
    但100个供应商里面大概100个都不会开给你.
      

  6.   

    多谢楼上现在是这样的....我的FTP根目录是 : http://192.168.1.222:91/ftp现在我需要把我的文件传到 http://192.168.1.222:91/别的目录里请问怎么传呢?
      

  7.   

    你是服务器-->服务器的传
    还是单机-->服务器的传?
      

  8.   

    突然感觉到...是不是传到FTP以后,还要传到HTTP服务器上?是这个概念吗?还是说,因为ftp服务器的根目录在http服务器上,可以有办法直接传过去呢我都糊涂了......多谢帮忙了...我也好弄清楚这个概念
      

  9.   

    随便找个搜索引擎,找文件上传+php就可以找一大堆出来.
    这代码没测试,楼主自己试一下吧.PHP上传文件
       
    秋雨网络屋>学习专区>PHP专区 
      
        把截面和实现代码综合到一个单独的文件中,为了实现这个想法,我们通过 在 form中添加一个隐含值指出当前的状态(界面或实现),以便区分对待完成代码如下:
    <?
    if(!$UploadAction):
    ?>
    <HTML>
    <HEAD>
    <TITLE>文件上载界面</TITLE>
    </HEAD>
    <BODY><table>
    <tr align="center">
    <td><form ENCTYPE="multipart/form-data" NAME="SubmitForm" ACTION="upload.php3" METHOD="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="hidden" name="UploadAction" value="1">
    </form>
    </td></tr>
    <tr align="center">
    <td><input NAME="UploadFile" TYPE="file" SIZE="30"></td>
    </tr>
    <tr align="center">
    <td><input NAME="submit" VALUE="提交" TYPE="submit"></td>
    <td><input NAME="reset" VALUE="重置" TYPE="reset"></td>
    </tr>
    </table>
    </center>
    </BODY>
    </HTML>
    <?
    else:
    ?>
    <HTML>
    <HEAD>
    <TITLE>文件上载代码</TITLE>
    </HEAD>
    <BODY>
    <? 
    $UploadAction=0; $TimeLimit=60; /*设置超时限制时间 缺省时间为 30秒 设置为0时为不限时 */ set_time_limit($TimeLimit); If(($UploadFile !="none" )&& ($UploadFile ! )) 

    $UploadPath="AddSlashes(dirname($PATH_TRANSLATED))."\\upload\\"; //上载文件存放路径 $FileName="$UploadPath.$UploadFile_name;" //上载文件名 if($UploadFile_size <1024) //上载文件大小 
    { $FileSize="(string)$UploadFile_size" . "字节"; }
    elseif ($UploadFile_size <(1024 * 1024)) 

    $FileSize="number_format((double)($UploadFile_size" / 1024), 1) . " KB"; 
    } else 

    $FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), 1) . " MB"; 
    }if(!file_exists($FileName)) 
    {
    if(copy($UploadFile,$FileName))
    { echo "文件 $UploadFile_name ($FileSize)上载成功!"; } 
    else 
    { echo "文件 $UploadFile_name上载失败!"; } unlink($UploadFile); 

    else 
    { echo "文件 $UploadFile_name已经存在!"; } 

    else 
    { echo "你没有选择任何文件上载!"; } set_time_limit(30); //恢复缺省超时设置 ?><BR><A HREF = "upload.php3">返回</A></BODY>
    </HTML><?
    endif;
    ?>
     
      

  10.   

    突然感觉到...是不是传到FTP以后,还要传到HTTP服务器上?是这个概念吗?
    ***********************************
    一般来讲,正常情况下,供应商给你开出来的空间是指在服务器上给你开了一个
    限定大小的目录,你可以在这个目录里面进行读,写,删除等操作.所谓FTP服务器,一般的意思是说提供FTP服务的一个机器(你可以这么理解),
    http服务器(也叫WEB服务器)是指提供WEB服务的机器.
    但这两个服务器不是说一定得分开两个机器放,正相反,一般情况下,供应商
    会来个二合一,也就是说,你的FTP服务器和HTTP服务器就是一回事,特别是
    楼主的情况几乎可以说是100%是二合一.
    还是说,因为ftp服务器的根目录在http服务器上,可以有办法直接传过去呢我都糊涂了......多谢帮忙了...我也好弄清楚这个概念
    **************所以楼主把东西传到FTP服务器上了,也相当于上了HTTP服务器,明白了吗?
      

  11.   

    楼上我的FTP服务器的根目录是设置在WEB服务器的FTP目录啊...他俩不是一个东西...相当于FTP服务器是WEB服务器的一个目录...请问怎么到上一级目录呢??
      

  12.   

    楼上..我们现在开发阶段头是这么设置的.我也没辙....而且有的程序需要显示FTP下面的文件列表,我想他是基于这样考虑的吧ftp_put()函数...好像不行吧,怎么能传到FTP根目录以上的目录里呢???很感谢你的回答,希望再次赐教
      

  13.   

    php里面的ftp_put()函数,能够操作的范围是你的整个php程序所有的目录,当然
    就包括了ftp目录的上一级目录.今天在家,公司里有一个这样的代码,如果要,明天
    到公司,测试一下贴给你.应该没问题吧...不过,你们头也够可以的....嗯,不过,有个糊涂上司应该也不错:)楼主加油了
      

  14.   

    他的意思,只是先这样指定的...好像有个getcwd()可以得到工作目录是吧...这样好像也是一条思路我再试试ftt_put(),很感谢等你明天的代码了,多交流,分是你的了
      

  15.   

    to : 
    lzkd(浪子快刀) 在等你的代码...多谢了...很急用...最近进度不快...要被骂了...无奈啊...
      

  16.   

    to 楼主,我测试了一下,因为你FTP的权限只有到FTP目录,所以无法使用FTP函数达到你
    的目的.经过再次试验,如果仅仅是需要将下一级的目录中的东西放到上一级目录中去,
    可以使用下面的代码,这里的原理是使用了写文件的技巧.建议你的头不要用这么笨的方法来控制FTP,他完全可以开几个不同权限的FTP来达到
    不显示所有东西的结果.<?php
    $file1='../ftp/test.php';
    $file2='../test.php';
    $file=fopen($file1,"r");
    $out=fread($file,1048576); //1048576是指文件字节数大小,可再设大
    fclose($file);
    $file=fopen($file2,"w");
    $run=fwrite($file,$out);
    fclose($file);
    if($run)
    echo '写入成功';
    else
    echo '写入失败';
    ?>
    祝楼主好运.
    匆匆写的代码,很粗糙,因为是在上班,楼主见谅
      

  17.   

    多谢读写文件还是比较熟悉...还有一个方法...就是用getcwd()得到当前工作目录...然后再用COPY..不过如果ftp服务器更改了的话...就要重新写代码了...
      

  18.   

    copy 不一定可以,如果供应商封了这个函数,就不可以用了:(我也试了COPY,结果在我的机器上可以,我到我租的空间试一下,
    就不可以.TNND........你可以写一个使用FTP的类嘛....祝楼主好运
      

  19.   

    不是吧...还有这样的事啊...长见识了..多谢就是说...用文件读写应该是没有问题的,是吧..现在是演示版...我先把功能实现吧...是有FTP的类啊...所有的操作都基于这个类的...
      

  20.   

    楼主记得结帖:)既然你用了类,那FTP服务器改了的话,你把类的参数改一下不就可以了?