用户
 找回密码
 入住 CI 中国社区
搜索
楼主: wangjialei
收起左侧

[HELP] 文件上传类使用的问题

[复制链接]
 楼主| 发表于 2009-8-5 13:13:38 | 显示全部楼层
view的代码太多了,也要吗?
发表于 2009-8-5 13:36:22 | 显示全部楼层
需要上传的js和html代码
 楼主| 发表于 2009-8-5 13:58:10 | 显示全部楼层
本帖最后由 wangjialei 于 2009-8-5 16:16 编辑



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>ポストカード選択画面</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript" src="<?= js_link('common.js') ?>"></script>
<link rel="stylesheet" type="text/css" href="<?= css_link('screen.css')?>" media="screen,print"/>

<script language="JavaScript">

var flgUploading = false;

function Submit_Form(){
    var addr = document.ImageSelect.image.value;
    addr = addr.toLowerCase();
    if (addr != ""){
        if(addr.match(/\.(jpg|jpeg)$/i)){
        
            if(!flgUploading){
   
                flgUploading = true;
               
                //フォームをサブミット
                document.ImageSelect.submit();
            }
        }else{
            alert('JPEG形式(○○○.jpg、○○○.jpeg)の画像ファイルを選択してください');
        }
    }else{
        alert('画像ファイルを選択してください');
    }
}

var img01="";    //最後に変更した値
var timeID;    //タイマーID

//拡張子のチェック
function chkexe(FileName) {
    point = FileName.lastIndexOf(".");
    if (point != -1) {
        FExe = FileName.substr(point);
        FExe = FExe.toLowerCase();
        if (FExe != ".jpg" && FExe != ".jpeg") return (false);
    }
    return (true);
}

//ファイル名の作成
function ChgLocalName(flname)
{
    var tmpimg = flname;
    var i;

    //ネットスケープではない場合そのまま返す
    if(navigator.appName != "Netscape") return( tmpimg );

    // "\"を"/"に変換
    while (1) {
        i = tmpimg.indexOf("\\");
        if ( i == -1 ) break ;
        tmpimg = tmpimg.substring(0,i) + "/" + tmpimg.substring(i+1, tmpimg.length);
    }
     
    // 文字列のエンコード
    tmpimg = escape(tmpimg);

    // コロンだけエンコードを元に戻す。
    i = tmpimg.indexOf("%3A");
    if ( i != -1 )
        tmpimg = tmpimg.substring(0,i) + ":" + tmpimg.substring(i+3, tmpimg.length);
        return( tmpimg );
}

//イメージの張り替え
function onimg() {
        //timeID= setTimeout("onimg()", 300);
    var src = document.ImageSelect.image.value;
        //変更されていたら
    if(img01 != src){
                //最終更新ファイル名セット
        img01 = src;
                //文字コードの変換(ネットスケープ用)
        src = ChgLocalName(src);

                document.ImageSelect.tex.value = src;
        
                //拡張子のチェックエラーとファイル名が空白になった時の処理
        if(src=="" || !chkexe(src)) {
            document.selectimage.src = "http://localhost/iiado/application/common/images/noupload.gif";
        }
        //ファイル名が変更された時の処理
        else{
            document.selectimage.src = "file:///" + src;
        }
        }
}
</script>
</head>
<body>
<div id="all">
<!-- header  -->
<?php include(APPPATH.'/views/head.php') ?>
<!-- header  -->

<div id="navi">
        <ul class="flowlist">
                <li class="listl"><img src="<?=image_link ('flow_00.gif')?>" alt="ご注文の流れ" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_01.gif')?>" alt="テンプレート選択" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_02_on.gif')?>" alt="画像選択" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_03.gif')?>" alt="画像編集" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_04.gif')?>" alt="注文内容入力" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_05.gif')?>" alt="注文内容確認" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_06.gif')?>" alt="お届け先・お支払方法確認" width="50" height="50"></li>
                <li><img src="<?=image_link ('flow_07.gif')?>" alt="最終確認" width="50" height="50"></li>
                <li class="listr"><img src="<?=image_link ('flow_08.gif')?>" alt="完了" width="50" height="50"></li>
        </ul>
        <br class="clear">
</div>

<div id="main">
<h2><img src="<?=image_link ('ttl_selecttpl.gif')?>" width="800" height="30"></h2>
<div class="wrapper">
        <div class="tpll">
               
                <?php
                $temp = "image_template_s$id.jpg";
                        
                $temp = image_link($temp);
               
                echo "<img src=$temp alt=''>";
               
                ?>
               
        </div>
        <div class="tplr">
                選択したテンプレート番号:<?php echo $mainid.$subid.$id ;?>
                <br>
                画像をアップロードして下さい。
    </div>
</div>

<?php ?>
<!--form start-->
<?php

        $attributes = array('name' => 'ImageSelect');

        echo form_open_multipart('image_select/do_upload',$attributes);
        
        $data = array(
              'mainid'  => $mainid,
              'subid' => $subid,
              'id'   => $id,
              'image_link' => $image,
              'price'   => $price,
              'tex' => ''
            );

        echo form_hidden($data);
?>

<h2 class="indenttm20"><img src="<?=image_link ('ttl_upload.gif')?>" width="800" height="30"></h2>

<?php echo $error;?>

<div class="indenttrm20">
        <input type="file" name="image" size="50" onchange="onimg()" />
</div>
<div class="indenttrm20">
        <img src="<?=image_link ('noupload.gif')?>" alt="" name="selectimage" id="selectimage" width="160" border="1">
</div>
<div class="indenttrm20">
        <!--
        <a href="javascript:Submit_Form()">
        <img src="<?=image_link ('btn_upload.gif')?>" alt="画像をアップロード" width="150" border="0" height="27">
        </a>
         -->
         <input type="submit" value="upload" />
</div>

</form>

<!-- start imagelist //////////////////////// -->
<h2 class="indenttm20"><img src="<?=image_link ('ttl_imglist.gif')?>" width="800" height="30"></h2>

<div class="indenttrm20">アップロード可能な画像数は8個です。</div>
<div class="listwrap">
        <!-- ////////// -->
    <div class="imgbox">
                <div class="imgarea">
            <p class="img">
            <img src="<?=image_link ('image_user.jpeg')?>" alt="">
            </p>
            <p class="delete">
            <a href="">
            <img src="<?=image_link ('btn_delete.gif')?>" alt="削除" name="d1" id="d1" width="100" border="0" height="23">
            </a>
            </p>
        </div>
        <!-- end of class(imgarea) -->
    </div>
    <!-- end of class(imgbox) -->
    </div>

<!-- end of class(wraper) -->
<br class="clear">
<!-- start button //////////////////////// -->
<div id="btnarea">
        <div id="btnreturn">
        <?php
        $temp2 = "/template_select/index/$mainid/$subid/";
        $temp2 = site_url($temp2);
        echo "<a href=$temp2>";
        ?>
        <img src="<?=image_link ('btn_return.gif')?>" alt="戻る" width="102" border="0" height="27"></a></div>
        <!-- end of id(btnreturn) -->
            <!--<div id="btnnext"><a href="https://secure.digipri.jp/order/postcard/dp/verf/index.php?module=edit&action=Stage&template=BAB_S09101&template_flg=0&request_id=Si9LPKwYAQ8AALhiwdA56699"><img src="images/btn_next.gif" alt="次へ" width="102" border="0" height="27"></a></div>-->
            <div id="btnnext"><a href="image_edit.htm"><img src="<?=image_link ('btn_next.gif')?>" alt="次へ" width="102" border="0" height="27"></a></div>
            <!-- end of id(btnnext) -->
</div>
<!-- end of id(btnarea) -->
</div>
</div>
<div id="footer">
<!-- footer  -->
<?php include(APPPATH.'/views/foot.php') ?>
<!-- footer  -->
</div>
</body>
</html>
 楼主| 发表于 2009-8-5 14:01:03 | 显示全部楼层
点击button就去调用contol的do_upload了
发表于 2009-8-5 14:51:19 | 显示全部楼层
帅哥,你的function onimg()从头到尾没有执行过,->post('tex')怎么会有值呢?
 楼主| 发表于 2009-8-5 15:29:55 | 显示全部楼层
好奇怪,我的程序里面分明写了。。。可能没粘上,我给加上了,红色的
 楼主| 发表于 2009-8-5 15:45:57 | 显示全部楼层
还有1个小时15分钟,解决不了就下班了!!!
发表于 2009-8-5 16:03:49 | 显示全部楼层
本帖最后由 visvoy 于 2009-8-5 16:06 编辑

这段写的不对
$data = array(
              'mainid'  => $mainid,
              'subid' => $subid,
              'id'   => $id,
                          'image_link' => $image,
                          'price'   => $price,
                          'tex' => ''
            );

        echo form_hidden($data);
你这样写,输出的是
<input type=hidden name=mainid value=xxx>
<input type=hidden name=subid value=xxx>
<input type=hidden name=id value=xxx>
并没有tex
 楼主| 发表于 2009-8-5 16:17:19 | 显示全部楼层
修改了,

生成的源代码

<!--form start-->
<form action="http://localhost/iiado/index.php/image_select/do_upload" method="post" name="ImageSelect" enctype="multipart/form-data">
<input type="hidden" name="mainid" value="A01" />
<input type="hidden" name="subid" value="003" />
<input type="hidden" name="id" value="1" />
<input type="hidden" name="image_link" value="images/BAB_S09101.jpg" />
<input type="hidden" name="price" value="5" />
<input type="hidden" name="tex" value="" />
<h2 class="indenttm20"><img src="http://localhost/iiado/application/common/images/ttl_upload.gif" width="800" height="30"></h2>
 楼主| 发表于 2009-8-5 16:17:58 | 显示全部楼层
还是不行呀,总是说 You did not select a file to upload.

本版积分规则