파일 업로드시이 이상한 문제가 있습니다. 그래서 파일을 업로드하면 모든 것이 잘됩니다. 이제 여기SQL 배열을 문자열 변환 오류로 처리했습니다. cakephp
Notice (8): Array to string conversion [CORE\cake\libs\model\datasources\dbo_source.php, line 749]
Warning (512): SQL Error: 1054: Unknown column 'Array' in 'field list' [CORE\cake\libs\model\datasources\dbo_source.php, line 684]
Query: INSERT INTO `masters` (`candidate_id`, `candidate_name`, `candidate_file_name`) VALUES ('heman', 'He Man', Array)
내가 뭐하는 거지입니다 : 내가 양식을 업로드 anyfile을 선택하고 제출하지 않는 경우 그러나 나는 다음과 같은 오류가 내 컨트롤러 :
업로드 파일에 전화를 만드는 기능 기능 : 여기
function upload_files() {
$fcnt = 0;
$vdata = $_FILES['data']['name']['Master'];
echo "Vdata:";
pr($vdata);
foreach ($vdata as $v)
{
$pro_files[] = array(
'name'=>$_FILES['data']['name']['Master']['candidate_file_name'],
'tmp'=>$_FILES['data']['tmp_name']['Master']['candidate_file_name'],
'type'=>$_FILES['data']['type']['Master']['candidate_file_name'],
);
echo "Pro_files:";
pr($pro_files);
$fcnt++;
}
$cnt = 0;
$allowed = array(
'xls','xlsx','db','mbd',
'txt','pdf','doc','docx',
'log','rtf','wpd','wps',
'csv','dat','pps','ppt',
'pptx','sdf','xml','bmp',
'gif','jpg','png','psd',
'thm','tif','svg','sql',
'html','htm','js','php',
'bin','mim','7z','deb',
'gz','pkg','sit',
'sitx','tar.gz','zip',
'zipx','pdf'
);
foreach ($pro_files as $file)
{
$fileType = $file['type'];
$fileType2 = explode('/',$fileType);
$fileName = $file['name'];
$path = 'C:\wamp\www' . '\\' . $fileName;
//if (in_array($fileType2[1],$allowed))
//{
echo "fileName";
pr($fileName);
if (move_uploaded_file($file["tmp"], $path))
{
$this->data['Master']['candidate_file_name'] = $fileName;
}
//}
$cnt++;
}
}
: 여기
if ($_FILES['data']['name']['Master'])
{
$this->upload_files();
}
는 파일 업로드 기능입니다
여기Array
(
[candidate_file_name] =>
)
은 파일 이름이 아무것도 나온다
Array
(
[0] => Array
(
[name] =>
[tmp] =>
[type] =>
)
)
처럼 프로파일 모습입니다 :
여기
Array
(
[Master] => Array
(
[candidate_id] => heman
[candidate_name] => He Man
[candidate_file_name] => Array
(
[name] => test.txt
[type] => text/plain
[tmp_name] => C:\wamp\tmp\php329D.tmp
[error] => 0
[size] => 0
)
)
)
같이 VDATA는 모습입니다 :처럼 내 디버그 데이터는 모습입니다. 나는 문제가 무엇인지 알아낼 수 아니다
Array
(
[data] => Array
(
[name] => Array
(
[Master] => Array
(
[candidate_file_name] =>
)
)
[type] => Array
(
[Master] => Array
(
[candidate_file_name] =>
)
)
[tmp_name] => Array
(
[Master] => Array
(
[candidate_file_name] =>
)
)
[error] => Array
(
[Master] => Array
(
[candidate_file_name] => 4
)
)
[size] => Array
(
[Master] => Array
(
[candidate_file_name] => 0
)
)
)
)
: 여기
처럼 홍보 ($ _ FILES)의 모습입니다. 아무도 도와 줄 수 있습니까? 귀하의 도움을 많이 주시면 감사하겠습니다. 감사합니다.
나는 당신에게 그것을 항변을 할 수 있습니다하지 않았다 설명해 줄거야? 나는 cakephp에 초보자입니다. –
게시물의 디버그 데이터를보십시오. 'candidate_file_name'은 양식의 파일 정보 배열로 되돌아옵니다 (꼭 그래야 함). 따라서 수정하지 않고 데이터베이스에 저장하려고하면 배열을 값으로 저장하려고합니다. 그것이 오류의 출처입니다. 데이터베이스에서 문자열을 기다리고 있습니다. 일단 파일을 업로드하고 원하는 디렉토리로 옮기면'candidate_file_name'을 그 위치로 업데이트해야합니다. 그래서 나중에 데이터베이스에서 선택하면 정확한 위치의 파일을 가리키게됩니다. –
이봐,이 시도했지만 동일한 오류를 줄 것 같다 \t \t \t \t if (!비어 ($ _ FILES [ '데이터'] [ '이름'] [ '마스터'])) \t \t \t \t \t { \t \t \t \t 에코 "안녕하세요"; \t \t \t \t \t $ this-> upload_files(); \t \t \t \t \t echo "hi"; \t \t \t \t \t} \t \t \t \t \t 다른 \t \t \t { \t \t \t \t 해제 ($ this-> 요청 -> 데이터 [ '마스터'] [ 'candidate_file_name']); \t \t \t \t –