Linux のアップロード権限
phpinfo で表示される情報は次のとおりです
file_uploads On
Upload_max_filesize 2M
Upload_tmp_dir /Users/ririn/Sites/tmp
次に、このディレクトリに 777 の権限を設定します chmod 777 /Users/ririn/Sites/tmp はまだ何か設定する必要があるのでしょうか?
しかし、ファイルのアップロードはまだ機能しません
まず第一に、tmp ディレクトリにはファイルがありません
もちろん、バックグラウンドで $tmp=$_FILES['mypic']['tmp_name']; を使用してもこれを取得することはできません。 ..
win では可能です。通常の操作での win の設定は、ここと同じです。
私のコードを追加する必要がありますか? ;form id="uploadForm" action="myUpFiles .php" method="POST" enctype="multipart/form-data">
ファイル 1:
br>
name="act" value='upimg'>upimg
< ?php
$tmp=$_FILES['mypic']['tmp_name'] / /空
$name=$_FILES['mypic']['name'];
$size=$_FILES['mypic' ]['size'];
$arr =array(
'tmp'=>$ tmp,
'name'=>$name,
'size'=>$size );
?>
最後に出力されるのは array(3) { ["tmp "]=> string(0) "" ["name"]=> string(9) "scoot.png" [" size"]=> int(0) } これ
は win では完全に正常です
ディスカッション (解決策) に返信します
フォームが指す PHP ページで直接 print_r($_FILE) を実行して、結果があるかどうかを確認できます
var_dump($_FILES)
直接 print_r( $_FILE) をフォームで指定された php ページで実行して、結果があるかどうかを確認してください
ああ、結果は次のようになります
array(1) { ["mypic"]=> array(5 ) { [ "名前"]=> 文字列(9) "scoot.png" ["タイプ"]=> 文字列(0) "" ["エラー"]= > int(2) ["size"]=> int(0) } }
何もせず、ファイル名のみ
var_dump($_FILES);
結果は次のようになります
array(1 ) { [" mypic"]=> array(5) { ["name"]=> string(9) "scoot.png" ["type"]=> string(0) "" ["tmp_name" ]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }
結果には何もありません
結果には [" がありますerror"]=> int(2)
マニュアルには
UPLOAD_ERR_FORM_SIZE
その値は 2 で、アップロードされたファイルのサイズが HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。
もう言いません
結果には ["error"]=> int(2) が含まれています
マニュアルには
UPLOAD_ERR_FORM_SIZE と書かれています
その値は 2 で、アップロードされたファイルのサイズは指定された値を超えていますHTML フォームの MAX_FILE_SIZE オプション。
もう言いません
そうですね、ファイルを変更しました、わかりました、でも元のファイルは 278K しかありませんでしたが、私が設定した Upload_max_filesize は 2M です
はい