我有以下代码用于成功上传图片:
$fileName = $_FILES['file']['name'];
$fileSize = $_FILES['file']['size'];
$fileType = $_FILES['file']['type'];
$fileTmp = $_FILES['file']['tmp_name'];
list($origWidth, $origHeight) = getimagesize($fileTmp);
问题是我在每一行都得到了一个'Undefined index'。
我在此代码之前有print_r($ _ FILES)并且每个数组变量都存在,并且我已经回显了$ fileName之类的变量,并且可以看到每个变量都有值。
此外,我已经在此代码块之前添加了它,它没有任何区别:
$fileName = $fileSize = $fileType = $fileTmp = '';
有关如何确定这些变量的任何建议?
三江源
更新.............................
这是HTML代码:
<form action="http://www.domainname.com/scripts/php/processing.php?page=join§ion=precrop&type=profile&token=photoToken" method="post" id="joinPhotoUploadFormProfile" enctype="multipart/form-data">
<input type="file" name="file" class="fileProfile"><br>
</form>
更新...............................
的var_dump($ _ FILES);输出如下:
答案 0 :(得分:1)
由于您收到Undefined index
并且脚本成功完成上传,只需添加以下行以确保请求方法实际上是POST
并且$_FILES
数组已设置。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$fileName = (isset($_FILES['file']['name']) ? $_FILES['file']['name'] : null);
$fileSize = (isset($_FILES['file']['size']) ? $_FILES['file']['size'] : null);
$fileType = (isset($_FILES['file']['type']) ? $_FILES['file']['type'] : null);
$fileTmp = (isset($_FILES['file']['tmp_name']) ? $_FILES['file']['tmp_name'] : null);
//the rest of your upload code
}
看起来你通过url传递了很多变量
processing.php?page=join§ion=precrop&type=profile&token=photoToken
表示您在脚本中有其他条件,因此请确保您在正确的位置编辑代码。