sir1 512 ارسال شده در آذر 99 گزارش بازنشر ارسال شده در آذر 99 با سلام یک کد PHP برای اپلود عکس داریم که به صورت زیر است ولی آپلود انجام نمیشه. ممنون میشم که راهنمایی کنید که مشکلش را حل کنم. global $user,$wpdb,$blog_id; if(isset($_POST["upload"])) { $target_dir = ABSPATH."wp-content/uploads/avatar/".date('yy').'/'; $format = explode('.', $_FILES["simple_local_avatar"]["name"])[1]; $target_file = $target_dir . $id . '.' . $format; $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); list($width, $height, $type, $attr) = getimagesize( $_FILES["simple_local_avatar"]['tmp_name'] ); $check = getimagesize($_FILES["simple_local_avatar"]["tmp_name"]); // Check if image file is a actual image or fake image if($check !== false) { // echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "فایل عکس نیست."; $uploadOk = 0; } // print_r($check['mime']); // Check if file already exists if (file_exists($target_file)) { // echo "Sorry, file already exists."; // $uploadOk = 0; } if (!file_exists(ABSPATH."wp-content/uploads/avatar")) { mkdir( ABSPATH."wp-content/uploads/avatar" ); } if (!file_exists(ABSPATH."wp-content/uploads/avatar/".date('yy'))) { mkdir( ABSPATH."wp-content/uploads/avatar/".date('yy') ); } // Check file size if ($_FILES["simple_local_avatar"]["size"] >= 20000) { echo "متاسفانه حجم عکس شما بیش از 20 کیلوبایت است.</br>"; $uploadOk = 0; } // Allow certain file formats if( $check['mime'] != "image/jpeg" && $check['mime'] != "image/png" ) { echo "فقط فرمت های jpeg و png مورد قبول است.</br>"; $uploadOk = 0; } if ( $width > 160 || $height > 160 ) { echo "لطفا سایز عکس 160 در 160 پیکسل باشد.</br>"; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "متاسفانه عکس شما آپلود نشد.</br>"; // if everything is ok, try to upload file } else { if (move_uploaded_file($_FILES["simple_local_avatar"]["tmp_name"], $target_file)) { // echo "The file ". basename( $_FILES["simple_local_avatar"]["name"]). " has been uploaded."; $img_url = site_url() . '/wp-content/uploads/avatar/'.date('yy') . '/'. $id . '.' . $format; $data = array( "media_id" => "", "full" => $img_url, "192" => $img_url, "96" => $img_url, "128" => $img_url, "64" => $img_url, "52" => $img_url, "26" => $img_url ); // $data = serialize($data); update_user_meta($id,'simple_local_avatar',$data); } else { echo "متاسفانه در هنگام آپلود عکس خطایی رخ داده است.</br>"; } } } ?> کد اسکریپت: <script type="text/javascript"> var $ = jQuery; function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function(e) { $('#avatar-image-url').attr('src', e.target.result); $('.save').css('display','block'); $('.edit').css('display','none'); } reader.readAsDataURL(input.files[0]); // convert to base64 string } } $("#avatar-image-url-input").change(function() { readURL(this); }); </script> و اخرین کد که خروجیش در ابزارک سایت نمایش داده شده است: <form method="post" action="" enctype="multipart/form-data"> <div class="upload-area"> <?php if (!isset(get_user_meta($id, 'simple_local_avatar', true)['full']) && empty(get_user_meta($id, 'simple_local_avatar', true)['full'])) { $avatar = 'https://secure.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=64'; } else{ $avatar = get_user_meta($id, 'simple_local_avatar', true)['full']; } if ( isset($avatar['full']) && !empty($avatar['full']) ) { echo '<button type="submit" class="delete" name="delete_user_avatar" value="'.$avatar.'">Delete</button>'; }?> <div class="edit" id="edit-avatar" style="">Edit</div> <img src="https://en.acgih.ir/wp-content/plugins/bitpay-vip-wordpress/images/avatar-enacgih.png" id="avatar-image-url"> <div class="upload-avatar-help"> حداکثر حجم عکس: 20Kb <br> حداکثر سایز عکس: 160 در 160 px<br> فرمت: jpg, png </div> <input id="avatar-image-url-input" type="file" name="simple_local_avatar" accept="image/png, image/jpg" value=""> </div> <button type="submit" class="save" id="save-avatar" name="upload">Save</button> </form> برای عکسی که میخام اپلود بشه چند شرط گذاشتیم که مثلا فرمت JPG یا PNG باشه، حجمش کمتر از 20KB باشه، سایز عکس 160*160 باشه. در مسیر uploads/avatar/2020 ذخیزه بشه. این چهار ویژگی اصلی رو میخواهیم پیاده کنیم. نقل قول لینک به ارسال
amirali ghorbani 326 ارسال شده در آذر 99 گزارش بازنشر ارسال شده در آذر 99 در 12 دقیقه قبل، sir1 گفته است : با سلام یک کد PHP برای اپلود عکس داریم که به صورت زیر است ولی آپلود انجام نمیشه. ممنون میشم که راهنمایی کنید که مشکلش را حل کنم. global $user,$wpdb,$blog_id; if(isset($_POST["upload"])) { $target_dir = ABSPATH."wp-content/uploads/avatar/".date('yy').'/'; $format = explode('.', $_FILES["simple_local_avatar"]["name"])[1]; $target_file = $target_dir . $id . '.' . $format; $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); list($width, $height, $type, $attr) = getimagesize( $_FILES["simple_local_avatar"]['tmp_name'] ); $check = getimagesize($_FILES["simple_local_avatar"]["tmp_name"]); // Check if image file is a actual image or fake image if($check !== false) { // echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "فایل عکس نیست."; $uploadOk = 0; } // print_r($check['mime']); // Check if file already exists if (file_exists($target_file)) { // echo "Sorry, file already exists."; // $uploadOk = 0; } if (!file_exists(ABSPATH."wp-content/uploads/avatar")) { mkdir( ABSPATH."wp-content/uploads/avatar" ); } if (!file_exists(ABSPATH."wp-content/uploads/avatar/".date('yy'))) { mkdir( ABSPATH."wp-content/uploads/avatar/".date('yy') ); } // Check file size if ($_FILES["simple_local_avatar"]["size"] >= 20000) { echo "متاسفانه حجم عکس شما بیش از 20 کیلوبایت است.</br>"; $uploadOk = 0; } // Allow certain file formats if( $check['mime'] != "image/jpeg" && $check['mime'] != "image/png" ) { echo "فقط فرمت های jpeg و png مورد قبول است.</br>"; $uploadOk = 0; } if ( $width > 160 || $height > 160 ) { echo "لطفا سایز عکس 160 در 160 پیکسل باشد.</br>"; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "متاسفانه عکس شما آپلود نشد.</br>"; // if everything is ok, try to upload file } else { if (move_uploaded_file($_FILES["simple_local_avatar"]["tmp_name"], $target_file)) { // echo "The file ". basename( $_FILES["simple_local_avatar"]["name"]). " has been uploaded."; $img_url = site_url() . '/wp-content/uploads/avatar/'.date('yy') . '/'. $id . '.' . $format; $data = array( "media_id" => "", "full" => $img_url, "192" => $img_url, "96" => $img_url, "128" => $img_url, "64" => $img_url, "52" => $img_url, "26" => $img_url ); // $data = serialize($data); update_user_meta($id,'simple_local_avatar',$data); } else { echo "متاسفانه در هنگام آپلود عکس خطایی رخ داده است.</br>"; } } } ?> کد اسکریپت: <script type="text/javascript"> var $ = jQuery; function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function(e) { $('#avatar-image-url').attr('src', e.target.result); $('.save').css('display','block'); $('.edit').css('display','none'); } reader.readAsDataURL(input.files[0]); // convert to base64 string } } $("#avatar-image-url-input").change(function() { readURL(this); }); </script> و اخرین کد که خروجیش در ابزارک سایت نمایش داده شده است: <form method="post" action="" enctype="multipart/form-data"> <div class="upload-area"> <?php if (!isset(get_user_meta($id, 'simple_local_avatar', true)['full']) && empty(get_user_meta($id, 'simple_local_avatar', true)['full'])) { $avatar = 'https://secure.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=64'; } else{ $avatar = get_user_meta($id, 'simple_local_avatar', true)['full']; } if ( isset($avatar['full']) && !empty($avatar['full']) ) { echo '<button type="submit" class="delete" name="delete_user_avatar" value="'.$avatar.'">Delete</button>'; }?> <div class="edit" id="edit-avatar" style="">Edit</div> <img src="https://en.acgih.ir/wp-content/plugins/bitpay-vip-wordpress/images/avatar-enacgih.png" id="avatar-image-url"> <div class="upload-avatar-help"> حداکثر حجم عکس: 20Kb <br> حداکثر سایز عکس: 160 در 160 px<br> فرمت: jpg, png </div> <input id="avatar-image-url-input" type="file" name="simple_local_avatar" accept="image/png, image/jpg" value=""> </div> <button type="submit" class="save" id="save-avatar" name="upload">Save</button> </form> برای عکسی که میخام اپلود بشه چند شرط گذاشتیم که مثلا فرمت JPG یا PNG باشه، حجمش کمتر از 20KB باشه، سایز عکس 160*160 باشه. در مسیر uploads/avatar/2020 ذخیزه بشه. این چهار ویژگی اصلی رو میخواهیم پیاده کنیم. سلام من از این کد استفاده میکنم مشکلی نداره php $target_dir = "uploads/"; 2 $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 3 $uploadOk = 1; 4 $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); 5 // Check if image file is a actual image or fake image 6 if(isset($_POST["submit"])) { 7 $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 8 if($check !== false) { 9 echo "File is an image - " . $check["mime"] . "."; 10 $uploadOk = 1; 11 } else { 12 echo "File is not an image."; 13 $uploadOk = 0; 14 } 15 } برسی وجود فایل // Check if file already exists 2 if (file_exists($target_file)) { 3 echo "Sorry, file already exists."; 4 $uploadOk = 0; 5 } محدود کردن سایز فایل اپلود // Check file size 2 if ($_FILES["fileToUpload"]["size"] > 500000) { 3 echo "Sorry, your file is too large."; 4 $uploadOk = 0; 5 } محدود کردن نوع فایل // Allow certain file formats 2 if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 3 && $imageFileType != "gif" ) { 4 echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 5 $uploadOk = 0; 6 } 1 نقل قول لینک به ارسال
amirali ghorbani 326 ارسال شده در آذر 99 گزارش بازنشر ارسال شده در آذر 99 کد کامل $target_dir = "uploads/"; 2 $target_file = $target_dir . basename( $_FILES["fileToUpload"]["name"] ); 3 $uploadOk = 1; 4 $imageFileType = strtolower( pathinfo( $target_file, PATHINFO_EXTENSION ) ); 5 6 // Check if image file is a actual image or fake image 7 if ( isset( $_POST["submit"] ) ) { 8 $check = getimagesize( $_FILES["fileToUpload"]["tmp_name"] ); 9 if ( $check !== false ) { 10 echo "File is an image - " . $check["mime"] . "."; 11 $uploadOk = 1; 12 } else { 13 echo "File is not an image."; 14 $uploadOk = 0; 15 } 16 } 17 18 // Check if file already exists 19 if ( file_exists( $target_file ) ) { 20 echo "Sorry, file already exists."; 21 $uploadOk = 0; 22 } 23 24 // Check file size 25 if ( $_FILES["fileToUpload"]["size"] > 500000 ) { 26 echo "Sorry, your file is too large."; 27 $uploadOk = 0; 28 } 29 30 // Allow certain file formats 31 if ( $imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 32 && $imageFileType != "gif" ) { 33 echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 34 $uploadOk = 0; 35 } 36 37 // Check if $uploadOk is set to 0 by an error 38 if ( $uploadOk == 0 ) { 39 echo "Sorry, your file was not uploaded."; 40 41 // if everything is ok, try to upload file 42 } else { 43 if ( move_uploaded_file( $_FILES["fileToUpload"]["tmp_name"], $target_file ) ) { 44 echo "The file " . basename( $_FILES["fileToUpload"]["name"] ) . " has been uploaded."; 45 } else { 46 echo "Sorry, there was an error uploading your file."; 47 } 48 } 1 1 نقل قول لینک به ارسال
sir1 512 ارسال شده در آذر 99 مالک گزارش بازنشر ارسال شده در آذر 99 در 17 دقیقه قبل، amirali ghorbani گفته است : کد کامل $target_dir = "uploads/"; 2 $target_file = $target_dir . basename( $_FILES["fileToUpload"]["name"] ); 3 $uploadOk = 1; 4 $imageFileType = strtolower( pathinfo( $target_file, PATHINFO_EXTENSION ) ); 5 6 // Check if image file is a actual image or fake image 7 if ( isset( $_POST["submit"] ) ) { 8 $check = getimagesize( $_FILES["fileToUpload"]["tmp_name"] ); 9 if ( $check !== false ) { 10 echo "File is an image - " . $check["mime"] . "."; 11 $uploadOk = 1; 12 } else { 13 echo "File is not an image."; 14 $uploadOk = 0; 15 } 16 } 17 18 // Check if file already exists 19 if ( file_exists( $target_file ) ) { 20 echo "Sorry, file already exists."; 21 $uploadOk = 0; 22 } 23 24 // Check file size 25 if ( $_FILES["fileToUpload"]["size"] > 500000 ) { 26 echo "Sorry, your file is too large."; 27 $uploadOk = 0; 28 } 29 30 // Allow certain file formats 31 if ( $imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 32 && $imageFileType != "gif" ) { 33 echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 34 $uploadOk = 0; 35 } 36 37 // Check if $uploadOk is set to 0 by an error 38 if ( $uploadOk == 0 ) { 39 echo "Sorry, your file was not uploaded."; 40 41 // if everything is ok, try to upload file 42 } else { 43 if ( move_uploaded_file( $_FILES["fileToUpload"]["tmp_name"], $target_file ) ) { 44 echo "The file " . basename( $_FILES["fileToUpload"]["name"] ) . " has been uploaded."; 45 } else { 46 echo "Sorry, there was an error uploading your file."; 47 } 48 } درسته این کد و برای 3wschool است ولی کد اخری که گذاشتم باید متناسب با این کد تغییر کنه تا کامل بشه و در سایت کارکنه. نقل قول لینک به ارسال
sir1 512 ارسال شده در آذر 99 مالک گزارش بازنشر ارسال شده در آذر 99 (ویرایش شده) دوستان لطفا کمک کنید این مورد را درست کنم. کد اول را که طبق w3 درست کردم حالا اون کد سوم که در سایت نمایش داده میشه را چطوری درست کردم. اینطوری برنامه نویسی شده که ابتدا کاربر عکس را انتخاب میکنه و پیشنمایش عکس نشان داده میشه و اگر شروط سایز و فرمت را داشت با زدن save عکس اپلود میشه و در نهایت کلمه delete روی عکس قرار می گیرد که اگر کاربر دوباره بخاد یک عکس دیگر را اپلود کنه ابتدا عکس قبلی را حذف کنه و از نو یکی دیگه را اپلود کنه. اگر هزینه هم داشته باشه مشکلی نیست پرداخت میکنم. یک فایل js هم نوشته شده که پیوست کردم. upload-avatar.js ویرایش شده آذر 99 توسط sir1 نقل قول لینک به ارسال
sir1 512 ارسال شده در آذر 99 مالک گزارش بازنشر ارسال شده در آذر 99 برای اخرین بار این تاپیک را بالا میاورم. لطفا دوستان کمک کنید.برای اخرین بار این تاپیک را بالا میاورم. لطفا دوستان کمک کنید. نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .