Linux 環境ファイルのアップロードに失敗しました。tmp_name が空です

WBOY
リリース: 2016-06-23 14:17:44
オリジナル
1668 人が閲覧しました

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 です
はい

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート