PHP를 조금 사용해 왔지만 기본 작업 만 수행하고 지식 기반의 일부를 구축하는 동안 막혔습니다.배열 내의 PHP 배열
기사를 만들 때 스크린 샷을 업로드 할 수 있습니다. 기사를 저장할 때까지 준비 영역에 저장해야하며 사용자 세션에 정보가 저장되어 있어야합니다.
...
$new_ss = array();
$new_ss['display_name'] = $ss_name;
$new_ss['server_path'] = "../uploads/"; /* outside of doc root */
$new_ss['server_path'] .= hash_file('md5', $ss_tmp_name) . "_" . $ss_name;
if (@move_uploaded_file($ss_tmp_name, $new_ss['server_path']))
{
$_SESSION['article']['screenshots'] .= $new_ss;
...
그런
편집 페이지 내에서 사용자에게 업로드를 표시하려고 :
if (is_array($_SESSION['article']['screenshots']) && count($_SESSION['article']['screenshots']) > 0)
{
echo "<table border=\"1\">\n";
foreach ($_SESSION['article']['screenshots'] as $ss)
{
... display table of uploaded images ...
의 문제점은, PHP는 $ _SESSION 표시되지이다 [ '기사 POST 업로드에서
'] ['screenshots ']를 배열로 사용합니다. 왜 그런지는 알 수 없습니다.
여기에 대한 답을 다음과 후 : PHP foreach() with arrays within arrays? 나는 빨리 다음과 같은 일을 시도 :function print_array($key, $item) {
echo "$key -> $item\n";
}
...
{
$_SESSION['article']['screenshots'] .= $new_ss;
array_walk_recurisve($_SESSION['article']['screenshots'], 'print_array');
...
그러나 나는 오류 "매개 변수 (1) 배열, 주어진 문자열이 될 것으로 기대".
'error_log ($ _ SESSION ['article '] ['screenshots ']);' 그것은 단지 많은 이미지가 업로드되기 때문에 "Array"를 출력하고, print_r은 그 자체로 '1'을 출력합니다.
누군가가 약간의 빛을 발산 할 수 있습니까?
아, 매우 간단합니다! 'appending to'의 사고 방식에 갇혀 있었고 그 운영자는 ... 지금 감사합니다! 한번 허용됩니다! – ZXcvbnM