• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در انتقال تصویر آپلود شده به فولدر
#1
Question 
درود دوستان بنده در حال کار بر روی یک پروژه OpenSource هستم که به صورت یک cms کتابخانه هستش که ادمین لیستی از کتاب ها و تصویر کاور کتاب رو در اون وارد و کاربران میتونن نظرات خودشون درباره کتاب رو بدن و یا کتاب رو رزرو و بعد با مراجعه حضوری کتاب رو تحویل بگیرند در صورت موجود بودن که تمام این بخش ها رو بدون مشکل ایجاد کردم تنها مشکلی که در حال حاضر مقابل بنده هستش اینکه بعد از آپلود تصویر منتقل نمیشه به پوشته تصاویر و به همین دلیل تصویر نمایش داده نمیشه حدود یک هفته ای میشه که انواع روش ها رو امتحان کردم اما مشکلم حل نشد به عنوان آخرین راه چاره این تاپیک رو ایجاد کردم تا شاید اساتید بتونن کمکمی در حل این مشکل داشته باشند. شما میتونید کل پروژه بنده رو ازین لینک GitHub مشاهده و دریافت کنید و همچنین ورژن آنلاین روند کار قسمت ادمین رو از این لینک مشاهده کنید. (تصویری که میبینید نمایش داده میشه دستی کپی شده تا مشکل واضح تر به نمایش در بیاد.)
  پاسخ
تشکر شده توسط :
#2
سلام،
ایکاش بیشتر توضیح میدادین که کدهای مورد نظر رو باید توی چه فایلی پیدا میکردیم، البته اگه کد رو اینجا قرار میدادین که عالی‌تر بود.
به هرحال، من کدهای فایل insert.php رو دیدم. فکر کنم همین فایل باید عملیات آپلود رو انجام بده.
ولی خب اگر من درست فرض کرده باشم، کدهای آپلودی وجود نداشت.
برای مثال این صفحه رو ببینین.

کدهاش رو هم همینجا میزارم:

کد پی‌اچ‌پی:
<?php
$target_dir 
"uploads/";
$target_file $target_dir basename($_FILES["fileToUpload"]["name"]);
$uploadOk 1;
$imageFileType pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    
$check getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if(
$check !== false) {
        echo 
"File is an image - " $check["mime"] . ".";
        
$uploadOk 1;
    } else {
        echo 
"File is not an image.";
        
$uploadOk 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo 
"Sorry, file already exists.";
    
$uploadOk 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo 
"Sorry, your file is too large.";
    
$uploadOk 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo 
"Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    
$uploadOk 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo 
"Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo 
"The file "basename$_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo 
"Sorry, there was an error uploading your file.";
    }
}
?>
غایب
  پاسخ
تشکر شده توسط : ayoubsys Pgraph
#3
به نظرم بهتره به جای اینکه ما دانلود و تست و نصب کنیم بیایید اون تکه کدی رو که مشکل دارید رو قرار بدید تا دوستان بتونند روش نظر بدند
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط : Pgraph
#4
درود،دوستان درست گفتید ببخشید اگر سئوال کامل نبود بنظر بنده این تکه کد ها مشکل دارن که عکس آپلود شده منتقل نمیشه همچنین تکه کد انتقال عکس رو بنده بارها در insert امتحان کردم اما نتیجه ای حاصل نشد، و بعدش سعی کردم توی select.php امتحان کنم اما باز هم نتیجه نداد.
کدها:
index.php

کد:
$(document).on('click', '#btn_add', function(){  
           var bookname = $('#ibookname').text();  
           var bookauthor = $('#ibookauthor').text();  
           var bookpages = $('#ibookpages').text();  
           var image = $('#file').val();
           if(bookname == '')  
           {  
                alert("input book name please!");  
                return false;  
           }  
           if(bookauthor == '')  
           {  
                alert("input book author please!");  
                return false;  
           }  
           if(bookpages == '')  
           {  
                alert("input book page numbers please!");  
                return false;  
           }  
            if(image == '')  
           {  
                alert("input book cover please!");  
                return false;  
           }       
           $.ajax({  
                url:"insert.php",  
                method:"POST",  
                mimeTypes:"multipart/form-data",
                data:{bookname:bookname, bookauthor:bookauthor, bookpages:bookpages, image:image},  
                success: function(data)
                {  
                     //alert(data);  
                     fetch_data();  
                }  
           })  
          
      });

و قسمتی که اطلاعات رو برای کد های بالا ارسال میکنه :
کد:
if(mysqli_num_rows($result) > 0)  
{  
       $output .= '
        
           <tr class="add-data">        
                <td></td>  
                <td id="ibookname" contenteditable ></td>  
                <td id="ibookauthor" contenteditable></td>  
                <td id="ibookpages" contenteditable></td>    
                <td id="iimage"><form enctype="multipart/form-data" action="" method="POST">
                <input type="file" name="image" id="file" /></form>  
                </td>
                <td><button type="button" name="btn_add" id="btn_add" class="btn btn-xs btn-success">+</button></td>      
           </tr>
      ';
و در زیر هم میتونید کد های صفحه insert و ببینید:

کد:
<?php  
require_once("db.php");
if (isset($_POST['btn_add'])) {
$sourcePath = $_FILES['file']['tmp_name'];       // Storing source path of the file in a variable
$targetPath = "images/".$_FILES['file']['name']; // Target path where file is to be stored
move_uploaded_file($sourcePath,$targetPath) ;  
}
//$file = addslashes($_POST["image_name"]);  
$file = $_POST["image"];
$file = str_replace( "\\", '/', $file );
$files =  basename( $file );
$sql = "INSERT INTO test1(bookname, bookauthor, bookpages , images) VALUES('".$_POST["bookname"]."', '".$_POST["bookauthor"]."', '".$_POST["bookpages"]."', '".$files."')";  
if(mysqli_query($connect, $sql))  
{  
      echo 'داده ها وارد شدند.';  
}  
?>
  پاسخ
تشکر شده توسط :
#5
دوستان هیچ جوابی نبود؟ واقعا به کمک شما نیازمندم .
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان