نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
Banned
تاريخ التسجيل: Jan 2005-
#1 (permalink)  
مشكلة برمجية بسيطة :)


السلام عيلكم والرحمة

المشكلة هي كالتالي:
كود PHP:
$SF date("m"); 
اخذ االـ$SF واحطها هنا :
كود PHP:
    imagejpeg ($im2,"./pics/$SF/$imagesavefile.jpg",100); 
ويتم تخزين الصورة بـمجلد pics وليس بمجلد الشهر ... حسب الدالة فوق
يعني يتم رفع الصور الى مجلد pics وتصبح وصلة الصورة هكذا
http://name.com/pics//05-200.jpg
لاحظ السلاشين بعد pics مع العلم بأني قمت بعمل 12 ملف ورخصهم بـ777

حاولت يمين فوق تحت ولا هي راضية تصلح ...

الكود بالكامل:
كود PHP:
<?
//عنوان موقعك او النص الذي تريده ان يضهر في اسفل الصوره
//ملاحظه لايدعم العربي
$websitename "www.NAME.com";
///لون اسم الموقع على الصورة
$textcolor "#FFFFFF";
$SF date("m");
///////////////////////////////////////////////////////////////////
//                    لا تغير شيء تحت                            //
//////////////////////////////////////////////////////////////////
if($image)
{
    
//التأكد من ان الملف صوره
    
$ift =  substr($image_name, -3);
    if((
$ift=="jpg") or ($ift=="gif") or ($ift=="png"))
    {
        
//انشاء اسم للصوره وهو عباره عن وقت تحميل الصوره زائد رقم عشوائي
        
$tow date("d-m-y"). - rand(0,5000);
        
//نسخ الصوره الى الموقع لاجرائ التعديلات عليها
        
if(copy($image,$image_name)){
            
//استدعاء داله الدمج
            
daifimage($image_name,$websitename,$tow,$ift,$textcolor);
            
//انشاؤ الارتباط
            
$imageurl ="http://www.NAME.com/pics/$SF/$tow.jpg";
            
//طباعت ارتباط الصوره للزائر
            
print str_replace("imageurl",$imageurlimplode (''file ("url.html")));
        }else{
            print
"غير قادر على نسخ الصوره";
        }
    }
}else{
    if(
$daif){
        
$daif "$daif.jpg";
        if(
file_exists($daif)){
            
readfile($daif);
        }else{
            
readfile("notfound.jpg");
        }
    }else{
        
//صندوق التحميل
        
include("upload.html");
    }
}
//دالة تكون اللون
function mkcolor($image,$color){
 
$color str_replace("#","",$color);
 
$red   hexdec(substr($color,0,2));
 
$green hexdec(substr($color,2,2));
 
$blue  hexdec(substr($color,4,2));
 
$out   ImageColorAllocate($image$red$green$blue);
 return(
$out);
}
//هذه الداله تقوم بوضع اسم الموقع في اسفل الصوره التي تمررها لها
function daifimage($imagefilename,$websitename,$imagesavefile,$imagefilename_type,$textcolor="#FFFFFF")
{
    
//انشاء صوره من الملف المعطى
    
if($imagefilename_type=="jpg"){$im imageCreateFromjpeg($imagefilename);}
    if(
$imagefilename_type=="gif"){$im imageCreateFromGIF($imagefilename);}
    if(
$imagefilename_type=="png"){$im imageCreateFromPNG($imagefilename);}
    
//انشاء صوره فارغه للرسم عليها
    
$im2imagecreatetruecolor(imageSX($im),imageSY($im)+22);
    
//وضع لون للنص
    
$text_color mkcolor($im2,$textcolor);
    
//تحديد مكان كتابة النص حسب طول وعرض الصوره وحسب عدد احرفه
    
$start_text = (imageSX($im2)/2)-9*(strlen($websitename)/2);
    
//كتابة النص في اسفل الصوره
    
ImageString ($im25$start_text, (imageSY($im)+3), $websitename$text_color);
    
//دمج الصوره التى الفارغه مع الصوره المعطاه
    
imageCopyMerge($im2$im,0,0,0,0,(imageSX($im)),(imageSY($im)),100);
    
//حفظ الصوره في ملف
    
imagejpeg ($im2,"./pics/$SF/$imagesavefile.jpg",100);
    
//مسح الصوره من الذاكره
    
imagedestroy($im2);
    
//مسح الصوره القديمه
    
unlink($imagefilename);
}
?>
ملاحظة تم عمل 12 مجلد حسب شهور السنة داخل مجلد pics
ملاحظة: الملف الذي به هذا الكود موضوع بمجلد آخر بنفس مكان مجلد pics ... يعني index.php

اعذروني اخوكم عليمي يحاول يتعبث






S-S-S غير متواجد حالياً   قديم 20-05-2005, 02:13 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Jan 2000-
#2 (permalink)  

السلام عليكم ..


آسف ما قرأت الكود كامل لكني تصفحته بسرعه و أعتقد إن المشكلة هي التالي :

المتغير $SF معرف خارج الدالة daifimage ، لذلك لايمكن الوصول لقيمته من داخل الدالة ...

الحلول الممكنة :
- إعادة تعريف المتغير داخل الدالة .
- تجعل المتغير global ، هكذا :
كود:
function daifimage($imagefilename,$websitename,$imagesavefile,$imagefilename_type,$textcolor="#FFFFFF") 
{ 
 global $SF;
.
.
بحيث يمكن الوصول لمحتوياته من داخل الدالة .
- أو إنك تستخدم المتغير بالشكل :
كود:
$GLOBALS["SF"]
و جميع المسارات تؤدي إلى روما






__________________
مدونتي الشخصية :
http://www.mazen.ws
عن البرمجة و تطوير المواقع و علوم الحاسب
ماسنجر :
desclub@hotmail.com
بريد الكتروني :
mazen@mazen.ws

" لا املك اشتراكات في سوالف "
مازن مليباري غير متواجد حالياً   قديم 20-05-2005, 02:39 PM
رد مع اقتباس
Banned
تاريخ التسجيل: Jan 2005-
#3 (permalink)  

شكرا جزيلا لك اخي مازن ... اشتغل تمام ...


شكرا مرة اخرى ..






S-S-S غير متواجد حالياً   قديم 20-05-2005, 03:03 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 11:58 PM بتوقيت المملكة العربية السعودية