PDA

View Full Version : مبتدی: مشکل در اجرای PHP با Wamp Server



ss3701
چهارشنبه 21 دی 1390, 14:20 عصر
با تشکر از دوستان مشکل حل شد!!
حالا چکار کنم تا وقتی اسم فلدری فارسی بود فارسی نشون بده؟
نه مثل این تصویر؟

http://barnamenevis.org/attachment.php?attachmentid=80605&d=1326307049

djsaeedkhan
چهارشنبه 21 دی 1390, 14:41 عصر
سلام
یه متغیر گرفتی به اسم root یا اشتباه نوشتی
باید بری یه ادرس و در خط مورد نظر اونو پیداش کنی و درستش کنی
ربطی به لینوکس و ویندوز نداره
خوشبختانه خود وپم اونقدر روی شرایط آزمایشگاهی فایل ها رو اجرا می کنه که وقتی همونو میذاری رو اینترنت دو هزار تا ارور میده:گیج:

ss3701
چهارشنبه 21 دی 1390, 14:56 عصر
سلام
یه متغیر گرفتی به اسم root یا اشتباه نوشتی
باید بری یه ادرس و در خط مورد نظر اونو پیداش کنی و درستش کنی
ربطی به لینوکس و ویندوز نداره
خوشبختانه خود وپم اونقدر روی شرایط آزمایشگاهی فایل ها رو اجرا می کنه که وقتی همونو میذاری رو اینترنت دو هزار تا ارور میده:گیج:


اینم سورس میشه یه نگاهی بندازی؟

mbf5923
چهارشنبه 21 دی 1390, 17:22 عصر
عزیز برادر شما احتمالا ورژن PHP مورد استفاده در Wamp تون پایینه
سورستون هیچ خطایی نداره
در ضمن به نظر من بهترین گزینه برای مجازی سازی Xampp هستش با اون کار کنید

djsaeedkhan
چهارشنبه 21 دی 1390, 20:38 عصر
سلام
من نگاه کردم اصلا هیچ جایی متغیری به اسم $root ایجاد نکردی و فقط اومدی ازش توی شرط استفاده کردی
احتمالا کدی چیزی بوده پاک شده و این مشل ایجاد شده.

file_exists($root . $_POST['dir'] . $file

راستی عزیز درست شد
یه کلک بهش زدم کار می کنه. ایول
تو فایل php اینو بنویس
کارتو راه میندازه ولی خوب باید مشکلشو هم درست کنی


<?php
//
// jQuery File Tree PHP Connector
//
// Version 1.01
//
// Cory S.N. LaViska
// A Beautiful Site (http://abeautifulsite.net/)
// 24 March 2008
//
// History:
//
// 1.01 - updated to work with foreign characters in directory/file names (12 April 2008)
// 1.00 - released (24 March 2008)
//
// Output a list of files for jQuery File Tree
//
---------------------- اینو بنویس --->error_reporting(0);
$_POST['dir'] = urldecode($_POST['dir']);

ss3701
چهارشنبه 21 دی 1390, 21:38 عصر
با تشکر از دوستان مشکل حل شد!!
حالا چکار کنم تا وقتی اسم فلدری فارسی بود فارسی نشون بده؟
نه مثل این تصویر؟

80605

djsaeedkhan
پنج شنبه 22 دی 1390, 00:24 صبح
بازم خوبه حداقل یه چیزی داری
من فولدر رو فارسی می کنم کلا نمایش نمیده

ss3701
پنج شنبه 22 دی 1390, 15:08 عصر
کسی نیست این مشکل رو حل کنه؟

djsaeedkhan
پنج شنبه 22 دی 1390, 16:44 عصر
سلام
لطف بفرمایید کد اصلی که ویرایش کردید و این شده رو بگذارید
و بگید چه تغییراتی می خواید روش بدید تا بشه چیز خوبی در آورد.


ولی در کل من اینجوری مشکلشو حل کردم

foreach( $files as $file ) {
if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file) ) {
echo "<li class=\"directory collapsed\"><a href=\"$file\" rel=\"" . htmlentities($_POST['dir'] . $file) . "/\">" . base64_decode(htmlentities($file)) . "</a></li>";
}



یعنی اومدم نام فولدر ها رو انکود کردم سپس خوندم و نامشون رو دیکود کردم
اگر خیلی برات مهم نیست می تونی از این روش استفاده کنی

سایت خودش هم که توضیحات کافی دارهhttp://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/

ss3701
پنج شنبه 22 دی 1390, 21:17 عصر
فایل کد رو که جایگزین کردم اینطوری شد!
من می خوام مثل این سایت بشه
media.fotros.ir

80678

امیـرحسین
پنج شنبه 22 دی 1390, 21:40 عصر
فایل کد رو که جایگزین کردم اینطوری شد!
من می خوام مثل این سایت بشه
media.fotros.ir

80678
میتونی بجای اینکه فولدرها رو فارسی نامگذاری کنی. از دیتابیس استفاده کنی. نام فارسی رو از دیتابیس بخونی (مشابه همون لینکی که دادی)

ss3701
پنج شنبه 22 دی 1390, 22:05 عصر
اون لینک نام فارسی رو از دیتابیس می خونه؟
واسه این کار میشه راهنمایی کنید؟

djsaeedkhan
جمعه 23 دی 1390, 00:17 صبح
شما گفتید چیزی شبیه سایت فطرس می خواید
خوب عزیز دل برادر اونا نیومدن از این روش استفاده کنن که
برنامه های مختلف هست مثل dhtml menu و .... که منو های بسیار زیبا و بهتر از این رو طراحی می کنه
شما راحت می تونی با اونا همچین منو هایی طراحی کنی. نه اینکه بیای فولدر های کامپیوتر رو با آجاکس نمایش بدی

و در چند پست قبل گفتم نام فولدر ها رو کد کنی
باید با یه کد نام فولدر ها رو انکود کنی مثلا

echo base64_encode("مناجات نامه");
بعد چیزی که چاپ میشه رو برداری و با نام فولدر عوض کنی
بعدش بیای کد هایی که گذاشتم رو اجرا کنی و میبینی فولدر های اسم فارسی هم کار می کنن
ولی باز هم اصولی نیست
و چیزی که تو سایت مورد نظر استفاده کردن چیز دیگه ای هست

ss3701
جمعه 23 دی 1390, 17:36 عصر
این قسمت از اون سایت نشون میده که اونا هم از همین راه استفاده کردن! ولی چه طوری؟

$('#filetreediv1').fileTree({ root: 'Media/Live/', script: 'jqueryFileTree.php' }, function(file) {
//PlayThis(file)
$("a.fancy").fancybox({
'titleShow':false
});
});

$('#filetreediv2').fileTree({ root: 'Media/Archive/', script: 'jqueryFileTree.php' }, function(file) {

ss3701
جمعه 23 دی 1390, 17:38 عصر
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>فطرس - نوا نما</title>
<link rel="shortcut icon" href="/images/fotros.png" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<style type="text/css">
HTML,
BODY {
padding: 0px;
margin: 0px;
}
BODY {
font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
background: #EEE;
padding: 15px;
}

H1 {
font-family: Tahoma, Georgia, serif;
font-size: 20px;
font-weight: normal;
}

H2 {
font-family: Tahoma, Georgia, serif;
font-size: 16px;
font-weight: normal;
margin: 0px 0px 10px 0px;
}


P.note {
color: #999;
clear: both;
}
.hide {
display:none;
}
</style>


<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-8546713-4']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

<script src="/js/jquery.js" type="text/javascript"></script>
<script src="/js/jquery.easing.js" type="text/javascript"></script>
<script src="/js/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>
<link href="/css/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" media="screen" />
<script src="/js/jqueryFileTree.js" type="text/javascript"></script>
<link href="/css/jqueryFileTree.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready( function() {

$('#filetreediv1').fileTree({ root: 'Media/Live/', script: 'jqueryFileTree.php' }, function(file) {
//PlayThis(file)
$("a.fancy").fancybox({
'titleShow':false
});
});

$('#filetreediv2').fileTree({ root: 'Media/Archive/', script: 'jqueryFileTree.php' }, function(file) {
//PlayThis(file)
$("a.fancy").fancybox({
'titleShow':false
});
});
});
</script>
</head>

<body dir="rtl">
<a href="/images/emblem.jpg" class="fancy">
<img src="/images/fotros.png" border="0" />
</a>
<!--
-->
<br /><br />
<strong>آخرین برنامه‌ها</strong>
<span id="filetreediv1"></span>
<br /><br />
<strong>بایگانی</strong>
<span id="filetreediv2"></span>

<br /><br />
<a href="http://www.fotros.ir" target="_blank">
پایگاه رسمی هیأت رايةالعباس علیه السلام - رزمندگان شمیرانات
</a>
<br /><br />

</body>
</html>

djsaeedkhan
جمعه 23 دی 1390, 17:52 عصر
سلام
خوب اون ها بر اساس چیزی که می خواستن این کارو کردن و از این استفاده کردن
دلیلی نداره که شما هم از این استفاده کنی

مثلا یه سایت برای اینکه منو هاش رو از ساختار درختی بخونه و نمایش بده صد تا دویست خط کد می نویسه تا اینکارو انجام بده
حالا من اگر بیام برای چند تا منو که همیشه ثابت هست و ممکنه ماهی یک بار تغییر کنه از این کد ها استفاده کنم کار اشتباهی نیست ولی بهتره استفاده نشه

اگر می خواهید چیز تقریبا ثابت درست کنید و سرعت بالایی هم داشته باشه بهترین روش همینه که از منو های آماده استفاده کنی
هم فهمیدنش آسونه
هم تغییر کد هاش راحته
هم اینکه برای همچین کاری 300 خط جی کوری لود نمی کنی

ss3701
پنج شنبه 29 دی 1390, 00:09 صبح
اگه بخوام نام فارسی پوشه ها رو خودم بهش معرفی کنم باید چکار کنم؟
مثلا معرفی کنم اسم پوشه" 1" رو بزاره "دانلود" و...
وچکار کنم آدرس پوشه در نوار زیرین نیاد؟
81070

MMSHFE
پنج شنبه 29 دی 1390, 10:32 صبح
دوست عزیز، راه پیشنهادی من اینه که شما برای هر پوشه که کاربر ایجاد میکنه، یک پوشه تصادفی با نام انگلیسی بسازین. مثلاً اسم پوشه رو با استفاده از (()md5(time تولید کنید یا هر روش دیگه که میخواین. بعد توی دیتابیس، نام اصلی که کاربر میخواسته رو همراه با نامی که واقعاً پوشه تحت اون عنوان ایجاد شده، ذخیره کنید. لینکها رو هم برحسب اون چیزی که توی دیتابیس هست (نامی که کاربر واردکرده) بسازید. حالا کافیه با htaccess. مسیرهای واردشده توسط کاربر رو دریافت کنید و بعنوان پارامتر به صفحه مربوطه بدین و اون پارامتر رو توی کد، دریافت کرده و نام واقعی پوشه متناظر با اون نام ظاهری رو استخراج کرده و مورد استفاده قرار بدین. به همین راحتی، به همین خوشمزگی :بامزه:
موفق باشید.

MMSHFE
پنج شنبه 29 دی 1390, 17:34 عصر
با سلام، این هم یک نمونه کد که براتون آماده کردم.
البته بخش دانلود غیرمستقیم رو هرکاری کردم درست نشد و آخرش اعصابم خورد شد و همینطوری براتون گذاشتمش ولی همه بخشهای دیگه (فولدرهای فارسی و... درست کار میکنه) و میتونید ایده و روش کار رو متوجه بشین و خودتون بقیه رو اصلاح کنید. راستی، خوشحال میشم ازبین سایر دوستان، هرکس میتونه بخش دانلود غیرمستقیمش رو تکمیل کنه چون کد خوبی برای دایرکتوری از آب در اومد.
موفق باشید.