我已经打开了相对于此问题的问题(我对主持人审查提出了问题),但没有人完成帮助我......我卡住了。
我有类似的东西:
if ($proc == "question")
{
// Handle some normal form 'contact us'.
// ... Some proccses code when submited via ajax ...
$fileElementName = 'ImageBrowse';
if (isset($_FILES[$fileElementName]) && !empty($_FILES[$fileElementName]))
{
// I want that file come to here from 'sendQueuploadimg'.
$file = $_FILES[$fileElementName]['tmp_name'];
var_dump($file);
}
}
else if ($proc == "sendQuestionUploadImg")
{
// Handle img upload via ajax.
$fileElementName = 'ImageBrowse';
$uploadsDirectory = '../uploads/';
$allowedTypes = array
(
'image/jpeg',
'image/jpg',
'image/pjpeg',
'image/pjpeg',
'image/png',
'application/x-rar-compressed'
);
// ... Some more proccses code when submited via ajax ...
// In the end if goes well...
// I want to pass the file array to the other if above.
if (isset($msg) && !empty($msg))
{
$_FILES[$fileElementName]['tmp_name'];
// How to pass the file to above if 'question'?
}
else
{
@unlink($_FILES[$fileElementName]);
}
}
我试图创建一个类并将文件转移到类内部运行,但它有效,但是当我尝试从我得到的null
函数中提取文件时,我尝试了更多10其他方式将文件传输到那里,但没有succses。
<?php
class image
{
public $file;
public function setImgTmp($file)
{
// When I do var_dump I will see the file here
// But I can't pull it out.
$this->file = $file;
return $this->file;
}
};
$file = new image();
?>
上面是我尝试传递文件的几次尝试之一,但它无法工作,我无法在没有$file
参数的情况下调用该函数。
任何人都知道如果将tmp文件传递到另一个文件,如果上面提交的那么?
答案 0 :(得分:3)
知道了:两个“ifs”反映了用户会话中的两种状态。虽然有点复杂的英语,但它不是if,而是状态变量$proc
给出了线索,问题是将结果从一个状态传递给另一个状态。
这通常在$ _SESSION变量中完成:
....
if($proc == "question"){// Handle some normal form 'contact us'.
$fileElementName = $_SESSION['imgfilename']; // make some error handing on null !!
....
和
....
if(isset($msg) && !empty($msg)){
$_SESSION['imgfilename'] = $_FILES[$fileElementName]['tmp_name'];
....
等
注释:您需要先启动会话才能使用$ _SESSION变量,请参阅文档!