2017-12-11 8 views
-2

파일 업로드 파일에 문제가 있습니다. 이 그것을 참조 있어요 코드입니다PHP 파일 업로드가 스트림을 열지 못했습니다 - 잘못된 폴더

Warning: copy(/assets/img/products/): failed to open stream: No such file or directory in /customers/d/7/4/(website name)/httpd.www/newSite/pages/admin/adminPages/products.php on line 212

: I 업로드 할 때

내가이 오류를 얻을

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

    $name = $_POST['imgName']; 
    $prod_id = $_POST['prod_id']; 

    if(!empty($_FILES['image'])) 
    { 
     $path = "/assets/img/products/"; 
     $path = $path.basename($_FILES['image']['imgName']); 
     if(copy($_FILES['image']['tmp_name'], $path)) { 
      echo'<script type="text/javascript"> 
        alert("uploaded"); 
       </script>'; 
       uploadExtraImg($name, $prod_id); 
     } 
     else{ 
      echo "Error: ".$sql."<br>".$connection->error; 
     } 
     } 
} 

내가 올바른 폴더를 찾을 수 없습니다를, 내가 시도한 다른 폴더 경로 많은입니다.

+0

오류 메시지는 매우 간단합니다. '/ assets/img/products/No such file or directory' 파일을 옮기려고하는 디렉토리가 먼저 존재해야합니다. –

+0

서버에'/ assets' 디렉토리가 있습니까? 여기서'/'는 "webroot"가 아닌 "root directory"를 의미합니다. – tadman

+1

가능한 복제본 [PHP - 스트림을 열지 못했습니다 : 해당 파일 또는 디렉토리 없음] (https://stackoverflow.com/questions/36577020/php-failed-to-open-stream-no-such-file-or-directory)) –

답변

0

문제는 분명합니다.

Warning: copy(/assets/img/products/): failed to open stream: No such file or directory in /customers/d/7/4/(website name)/httpd.www/newSite/pages/admin/adminPages/products.php on line 212 

이 디렉토리 /customers/d/7/4/(website name)/httpd.www/newSite/pages/admin/adminPages/products.php

에서 찾고 그러나 나는 당신이 /assets/img/products/customers/d/7/4 을 얻으려면 바라고 또는이 경우 완전한 경로로 (website name)/httpd.www/newSite/assets/img/products/customers/d/7/4

하고 있습니다. 경로가 정확한지 확인하십시오.

$path 값을 변경해보십시오. 이렇게

<?php 
if(isset($_POST['submitMoreImg'])){ 

    $name = $_POST['imgName']; 
    $prod_id = $_POST['prod_id']; 

    if(!empty($_FILES['image'])) 
    { 
     $path = __DIR__."/../../../assets/img/products/"; 
     $path = $path.basename($_FILES['image']['imgName']) + $fileNameWithExtension; 
     if(copy($_FILES['image']['tmp_name'], $path)) { 
      echo'<script type="text/javascript"> 
        alert("uploaded"); 
       </script>'; 
       uploadExtraImg($name, $prod_id); 
     } 
     else{ 
      echo "Error: ".$sql."<br>".$connection->error; 
     } 
     } 
} 
?> 
+0

전화 확인 'copy ('files/image.png', 'files /'. "$ path". '/ img.png')와 비슷하게 보일 것입니다. 왜냐하면 실제로 구문에 문제가 있거나 잘못된 디렉토리를 호출했을 수도 있습니다 . advice가 $ path 값을 echo하고 브라우저에서 직접 접근하려고 시도 할 때. –

+0

이제 작동합니다. $ 경로를 다음과 같이 변경해야했습니다. $ path = $ path.basename ($ _FILES [ 'image'] [ 'name']); 도움을 청합니다. – boyler211