PHP를 통해 내 사이트에 업로드되는 모든 파일의 유효성을 검사하고 싶습니다. 파일 내용을 비교하기 위해 정규 표현식을 사용하고 있지만 제대로 작동하지 않을 것으로 예상됩니다. 한 줄에 한 학기 만 사용하는 파일을 허용하고 싶습니다. 이것이 내가 그것을 원하는 방식으로 감지되지 않는 이유PHP : 배열 요소에서 정확한 문자열 패턴 검색
$texthandle = file($_FILES["textfile"]["tmp_name"]);
foreach ($texthandle as $textline)
{
if (!preg_match("/(HP\d+){1}/", $textline))
{
echo "Incorrect file format. Please provide a text file with 1 term per line.";
exit(0);
}
}
누군가가 제안 수 : 여기
EXPECTED INPUT:
HP34930
HP09099
HP98899
UNACCEPTABLE INPUT:
HP89980 HP98798 HP09232
some other text
HP58089
내 코드?
또한
if (!preg_match("/^(HP\d+){1}$/", $textline))
을 시도했지만 내가이 일을 예상대로 작동하지 않습니다.
도움 주셔서 감사합니다. 다음
$texthandle = file($_FILES["textfile"]["tmp_name"], FILE_IGNORE_NEW_LINES);
과 :
if (!preg_match("/^HP\d+$/", $textline))
또는 허용 된 5 자리가있는 경우 :이 경우
if (!preg_match("/^HP[\d]{5}$/", $textline))
가 작동하지만 노력하지 어떤
"작동하지 않습니다."적절한 문제 설명이 아닙니다. 뿐만 아니라 "제대로 작동하지 않습니다". 오직 당신이 "정확하게"무엇을 의미하는지 알 것입니다. – zerkms
덜 모호하게 편집했습니다. 도움이되기를 바랍니다. – zock
코드를 가져 와서 ** 작동 ** ** http://ideone.com/I1sRLt – zerkms