[PHP-users 23854] Re: ファイルのアップロード

PHP USERS アカウント php_users @ kyosuke.info
2004年 12月 10日 (金) 16:02:10 JST


サンプルを送ります。
参考になさってください。<尾崎>

以下の名前のディレクトリを作ります。
data(707)

適当な名前(up.php)でファイルを作成し以下のコードを貼り付けて試してみてください。
_______________________(コードここから)_____________________________
<?php
    $pgmname = 'up.php';
?>

<HTML>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    <TITLE>ファイルアップロード</TITLE>
    </HEAD>

<BODY>
<P align="center">▼ ファイルアップロード ▼</P>
<HR>
<DIV>
<FORM action="<?= $pgmname ?>?c=cdata" id="FORM1" method="post" NAME="FORM1" ENCTYPE="multipart/form-data">
<TABLE border=1 cellPadding=3 cellSpacing=1>
    <TBODY>
        <TR>
            <TD nowrap><FONT size="-1">ファイル file</FONT></TD>
            <TD nowrap>
                <INPUT TYPE="file" NAME="file" SIZE="42">
            </TD>
        </TR>
    </TBODY>
</TABLE>
<BR>
<INPUT id=submit1 NAME=submit1 type=submit value=" 実行 ">
<INPUT id=reset1 NAME=reset1 type=reset value="リセット">

</FORM>
<?php
    $aaa = ini_set("upload_max_filesize","20000000");
    // リクエスト取得処理
    if ($file_name != '' && $file_size != 0) {
        copy($file, "./data/$file_name");
        
print <<< END_OF_HTML
<span>
アップロードファイル名 = $file_name<BR>
アップロードファイルサイズ = $file_size<BR>
</span>
END_OF_HTML;
    }
?>
</DIV>
</BODY>

</HTML>
_______________________(コードここまで)_____________________________________




> こんにちわ、yukiと申します。
> 
> 
> PHPにてファイルのアップロードをしようと思ったのですが、
> 上手く行かないので、メーリングリストで質問させて頂きます。
> 
> いろいろサンプルをみて作成したんですが、
> 実行すると以下のようなエラーが出ます。
> 
> 
> --------------------------------------------------
> Warning: move_uploaded_file(../img/Vrossi4.jpg): failed to open stream: Permission denied in /virtual/motogp/public_html/make/File2.php on line 13
> 
> Warning: move_uploaded_file(): Unable to move '/tmp/phpmTEvU5' to '../img/Vrossi4.jpg' in /virtual/motogp/public_html/make/File2.php on line 13
> アップロードされたファイルではありません。 
> --------------------------------------------------
> 
> 
> アップロードしたファイルはVrossi4.jpgなのですが、アップロードしたときに/tmp/phpmTEvU5になってる?
> 手を尽くして調べたんですが、私には解決出来ませんでした。
> どなたかおわかりになる方いらっしゃいましたら、ご教授下さい。
> よろしくお願いします。
> 
> 以下、ソースです。
> <<File1.php>>**********************************************
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <?#!/usr/local/bin/php?>
> <HTML>
> <HEAD>
> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
> <TITLE></TITLE>
> </HEAD>
> <BODY style="text-align : center;">
> 
> <Form method='POST' enctype='multipart/form-data' action='File2.php'>
> <input type="file" name="UserFile">
> <input type="submit" value="アップロード">
> </Form>
> 
> </BODY>
> </HTML>
> *********************************************************
> 
> 
> <<File2.php>>**********************************************
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <?#!/usr/local/bin/php4?>
> <HTML>
> <HEAD>
> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
> <TITLE></TITLE>
> </HEAD>
> <BODY style="text-align : center;">
> <?=$_FILES['UserFile']['error']?><BR>
> <?php
> $fileS = "../img/" . $_FILES[ 'UserFile' ][ 'name' ];
> $tmp_file = $_FILES['UserFile']['tmp_name'];
> if (move_uploaded_file($tmp_file, $fileS)){
> chmod($fileS,0604);
> print "ファイル $tmp_file を $file にアップロードしました。";
> } else {
> print "アップロードされたファイルではありません。";
> }
> ?>
> </BODY>
> </HTML>
> *********************************************************
> 
> 
> from yuki
> 
>         http://www.yuki-web.net/
>         yuki @ yuki-web.net
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
> 
> 




PHP-users メーリングリストの案内