私は PHP を初めて使用するもので、サーバーにファイルをアップロードする POST と、サーバーがファイルを受信して保存するプロセスを知りたいのですが、インターネット上で 2 つのコードを見つけましたが、それらを調整できず、問題を見つけることができません。フォーラムで Daxia にアドバイスを求めたところ、コードは次のとおりです:
1. アップロード コード
<form enctype="multipart/form-data" action="upload.php" method="post"><label for="file">请选择上传的文件</label><input type="file" name="file" size="40" /><br /><input type="submit" name="submit" value="确定" /></form>
<?php//文件存储路径$file_path="upload/";//664权限为文件属主和属组用户可读和写,其他用户只读。if(is_dir($file_path)!=TRUE) mkdir($file_path,0664) ;//定义允许上传的文件扩展名$ext_arr = array("gif", "jpg", "jpeg", "png", "bmp", "txt", "zip", "rar");if (empty($_FILES) === false) { //判断检查 if($photo_up_size > 2097152){ exit("对不起,您上传的照片超过了2M。"); } if($_FILES["file"]["error"] > 0){ exit("文件上传发生错误:".$_FILES["file"]["error"]); } //获得文件扩展名 $temp_arr = explode(".", $_FILES["file"]["name"]); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext); //检查扩展名 if (in_array($file_ext, $ext_arr) === false) { exit("上传文件扩展名是不允许的扩展名。"); } //以时间戳重命名文件 $new_name = time().".".$file_ext; //将文件移动到存储目录下 move_uploaded_file($_FILES["file"]["tmp_name"],"$file_path" . $new_name); //向数据表写入文件存储信息以便管理 //*********** 代码略 ***********// echo "文件上传成功!"; exit;} else { echo "无正确的文件上传";}?>
スクリーンショットから、http 経由でアクセスしていないことがわかります。
file:///c:/wamp/www/upload.php
1. まず、wamp サーバーを起動する必要があります。
2. 最初のコードを Upload.html として保存し、c:/wamp/www/ フォルダーに保存します
3. 2 番目のコードを Upload.php として保存し、c:/wamp/www/ フォルダーに保存します
4 . c:/wamp/www/ にアップロードフォルダーを作成します
5. http://localhost/upload.html でアクセスします。それなら大丈夫です。
fdipzone prawn のおかげで、一日悩んでいた問題がついに解決されました!