2017-03-07 1 views
0

간단한 업로드 스크립트 (직원이 프로필 사진을 변경하도록 허용)는 PC에서 정상적으로 작동하지만 iPhone에서 사진을 업로드하려고 할 때 페이지가 멈추는 중입니다. 로드하고 아무 일도 일어나지 않습니다.휴대 기기에서 이미지 파일 업로드

이 내 전체 테스트 PHP 파일입니다

<?php 
if (isset($_POST['submitNewImage'])) { 
    echo 'it works, and the filename is ' . $_FILES['uploadedFile']['name'];  
} 
?> 
<html> 
<head> 
<title>Untitled Document</title> 
</head> 

<body> 
<br /><br /><br /> 
<form action="test.php" method="post" enctype="multipart/form-data"> 
<input type="file" accept="image/*" capture name="uploadedFile" /><br /><br /><br /> 
<input type="submit" name="submitNewImage" value="Upload" /> 
</form> 
</body> 
</html> 

다시 말하지만, 이것은 PC에서 잘 작동하지만 아이폰에서 "업로드"를 터치하면, 그냥 달려 있습니다. name = "uploadedFile"을 제거하면 페이지가 실행되지만 물론 거기에 파일이 없습니다. iPhone에서 이미지를 인식하도록하려면 어떻게해야합니까?

+1

사양에 따라 유효합니다. 웹에서 iOS와 관련된 버그가있는 것 같습니까? ''캡쳐 = '이미지''를 사용해 보셨습니까? 아마 볼 수 : http://stackoverflow.com/questions/29225824/mobile-safari-crashing-while-capturing-photo-using-input-type-file – ficuscr

답변

0

그것은 나를 위해 작동하며 시도해 볼 가치가 있습니다!

<?php 

    if(isset($_POST['submit_image'])) { 

    $new_image = $_FILES['new_image']['name']; 
    $new_image_temp = $_FILES['new_image']['tmp_name']; 

    move_uploaded_file($new_image_temp, "../img/$new_image");  

    } 

?> 

<form action="" method="post" enctype="multipart/form-data"> 

    <label for="new_image">Image: </label> 
    <input type="file" name="new_image"> 
    <input type="submit" name="submit_image" value="Submit"> 

</form> 
+0

이것은 나를 위해 작동하지 않았다. 나는 당신의 코드를 정확히 복사하고 붙여 넣었다. 이제는 내 환경에 뭔가 있는지 궁금하네요. iPhone과 iPad 모두에서 테스트 중이며 둘 다 iOS 10.2.1을 실행 중입니다. 서버는 Windows 2008R2, IIS 7, PHP 5.6.27입니다. 이 XAMPP를 실행하고 거기에 테스트를 다른 서버에 던질거야 ... – Rich701

1

GD가 포함 된 업로드 후 이미지로 무엇을 할 수 있습니까?

그렇다면 세로 또는 가로 이미지를 업로드 할 때 차이점이 있습니까? 초상화가 잘 작동하지만 풍경이 멈추는 경우 (또는 그 밖의 방법으로 기억할 수없는 경우) 이미지가 회전되었지만 GD가 올바르게 처리하지 못한다는 EXIF ​​데이터에 문제가있을 수 있습니다.

해결 방법 EXIF ​​데이터를 가져 오는 중 (exif_read_data()), GD 또는 이미지 magick으로 이미지를 회전 한 다음 imagemagick (-strip param in call)을 사용하여 이미지를 스트리핑하여 처리 할 수있는 이미지를 남깁니다 오류가 발생하지 않습니다.

+0

흥미 롭군요,하지만 난 그냥 두 형식으로 동일한 결과를 테스트했습니다. – Rich701

0

글쎄, 그것은 코드가 아니었고, 사이트가있는 서버의 문제입니다. Windows 2008 R2, IIS 7, PHP 5.6에서이 기능을 사용할 수 있습니다. 그러나 Windows Server 2008 R2, XAMPP, PHP 5.6.15에 동일한 코드를 추가하면 제대로 작동합니다. 도움을 주신 모든 분들께 감사 드리며 올바른 방향으로 나를 인도 해줍니다. 원인을 알아 내면 최종 결과를 게시 할 것이며 IIS 7이 맞는지 의심 스럽습니다.

관련 문제