php array 질문 채택완료
이 경우는 잘 작동합니다.
$okey = array('e5aDfd2bnRs', 'zEMt3qViMjk');
$selected = array_rand($okey);
$key=$okey[$selected];
'e5aDfd2bnRs', 'zEMt3qViMjk' 를 list.txt 에 넣고 아래 코드를 썼을때는 작동하지 않습니다.
$file = file_get_contents('list.txt');
$okey = array($file);
$selected = array_rand($okey);
$key=$okey[$selected];
어떻게 해야할까요??
답변 5개
$file = file_get_contents('list.txt');
$okey = array($file);
$arr_key = explode(',',$okey[0]);
$selected = array_rand($arr_key);
$key=$arr_key[$selected];
echo $key;
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
호스팅을 이용한다면 업체에서
보안상 file_get_contents 을 막을 수도 있습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
각 변수를 print_r2 함수로 찍어서 현재 변수의 내용물 확인하며 작업해 보세요.
참고로, $okay 변수 상태입니다.
Array
(
[0] => 'e5aDfd2bnRs', 'zEMt3qViMjk'
)
댓글을 작성하려면 로그인이 필요합니다.
print_r($okey);
var_dump(is_array($okey));
이렇게 찍어 보세요. 값이 어떻게 나오는지...
답변에 대한 댓글 2개
배열은 key, value가 짝을 이루어서 구성되어져 있습니다.
위 변수는 0 => 'e5aDfd2bnRs', 1 => 'zEMt3qViMjk' 이렇게 되어 있다고 보시면 됩니다.
file_get_contents 함수는 해당 파일을 문자열로 읽습니다.
결국 첫 번째 $okey는 두 개의 value를 가진 배열이고 두 번째 $okey는 하나의 아주 긴 문자열을 value로 가진 배열입니다.
그래서 두 번째 $okey는 한 번 더 explode 같은 함수로 잘라 주셔야 합니다.
값을 직접 입력하는거나 같은값을 file get contents로 불러오는거랑 결과가 같아야되는거 아닌가요?
결론은 다르다입니다.
0 => 'e5aDfd2bnRs'
1 => 'zEMt3qViMjk'
0 => 'e5aDfd2bnRs, zEMt3qViMjk'
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인