הורדת קובץ אקסל (.xls) של רשימת תפוצה

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי 011371 » 23:29 12/04/2018

בסייעתא דשמייא ניתן לקבל באמצעות הטופס הבא את רשימת התפוצה בקובץ אקסל רגיל
בדיקה שערכתי באקסל 2016 פתחה את הקובץ בעברית תקינה (לאחר התראה על חובת הזהירות מקבצים שמקורם אינו ידוע וכו')

מצורף גם בקובץ
add.xls.php.zip
(2.92 KiB) הורד 217 פעמים
בחלק מהשרתים הגירסה הזו עובדת:
add.xls2.php.zip
(2.93 KiB) הורד 196 פעמים
או זו:
add.xls3.php.zip
(2.84 KiB) הורד 206 פעמים

קוד: בחירת הכל

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="he" xml:lang="he" dir="rtl">
<head>
<title>קבלת רשימת תפוצה בקובץ אקסל</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="he" />
</head>
<body>
בסייעתא דשמיא
<br /> טופס להורדת קובץ אקסל של רשימת תפוצה
<br /> פותח על ידי "סל שרותים מתקדמים" , אימייל support@salsm.com
<br /> הרשות נתונה להעתיק אך נא לשמור על הקרדיט ולא למחוק שורה זו


<?php
$DID= $_POST['DID'] ;//מערכת
$password = $_POST['PASS'] ;//סיסמא
$templateId = $_POST['templateId'];//תבנית
$template_name='';//שם התבנית

if( isset($DID) && isset($password) )
{
$token = token_yemot($DID,$password);//טוקן
}else{
$token = $_POST['token'];
}

if( ! isset(
$token ))
{
print '<FORM ACTION="" METHOD="POST" ENCTYPE="multipart/form-data">
<P>מספר מערכת: <INPUT TYPE=TEXT NAME="DID" SIZE=20 STYLE="width: 1.75in; height: 0.3in" />
</P>
<P>סיסמה: <INPUT TYPE=PASSWORD NAME="PASS" SIZE=20 STYLE="width: 1.75in; height: 0.3in" />
</P>

<P><INPUT TYPE=SUBMIT NAME="submit" VALUE="התחבר" STYLE="width: 0.74in; height: 0.37in" />
</P>
</FORM>';
}
else
{
//קבלת רשימות התפוצה
$templates = yemot_GetTemplates($token);
//print_r ($templates);

print '<FORM ACTION="" METHOD="POST" ENCTYPE="multipart/form-data">
<p><INPUT TYPE="hidden" NAME="token" VALUE="'.$token. '" />
</p>
<select id="templateId" name="templateId">';
print '<option value="" >בחר תבנית מהרשימה</option>';



foreach($templates as $template )
{
$template['description'] = mb_convert_encoding( $template['description'] ,"UTF-8"); //הגדרת קידוד עברית
$template['description'] =str_replace(
array("?" , "|" , '"' , "%" , '&' , "'" , '*' , ',' , ':' , '<' , '>' , '/' , '\\' , '{' , '}' , '~' ), "_" ,$template['description']) ;//נטרול תוים לא חוקיים משם התבנית
print '<option value="'.$template['templateId'].'" >תבנית מספר: '.$template['templateId'].' '.$template['description'].'</option>';

if ($templateId == $template['templateId'])
{$template_name = $template['description'];}

}
print '</select>
<P><INPUT TYPE=SUBMIT NAME="submit" VALUE="צור קובץ" STYLE="width: 0.74in; height: 0.37in" />
</P>
</FORM>';
if(! isset( $templateId ) or $templateId == '' )
{
print "<p>עדיין לא נבחרה רשימה</p>";
}
else
{
$Entries = yemot_GetTemplateEntries($token ,$templateId );//קבלת רשימת התפוצה
//print '<pre>';
//print_r ($Entries);
$filename = mb_convert_encoding("תבנית ","UTF-8").$templateId. " ".$template_name.".xls";//שם הקובץ שייוצר


if( ! is_dir( 'xls' ) ){ mkdir( 'xls' ); }//יצירת התיקייה אם עדיין לא נוצרה
$handle = fopen("xls/".$filename, "w");//יצירת הקובץ

//[Content_Types].xml

fwrite($handle, mb_convert_encoding( '<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<title>קובץ רשימת תפוצה, נוצר בעזרת פיתוח של "סל שרותים מתקדמים"</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>',"UTF-8")."\r\n");//כתיבת headers


fwrite($handle, mb_convert_encoding( '<body dir="rtl"><table><thead><tr><th>מזהה רשומה</th><th>מספר סידורי</th><th>מספר טלפון</th><th>מצב</th><th>שם</th><th>מידע נוסף</th></tr></thead><tbody>' , "UTF-8")."\r\n");//כתיבת שורת הכותרת

foreach( $Entries as $Entri )

{
$Entri['blocked']==1? $Entri['blocked']='חסום' : $Entri['blocked']='פעיל' ;
$Entri = implode( "</td><td>" , $Entri );//הפיכת המערך לרשומה מופרדת בתגיות טאבים
fwrite($handle, mb_convert_encoding( '<tr><td>' . $Entri . '</td></tr>' , "UTF-8" )."\r\n");//כתיבת הרשומה לקובץ
}
fwrite($handle, mb_convert_encoding( '</tbody></table></body></html>' , "UTF-8" ));//סגירת הטבלה
fclose($handle);//סגירת הקובץ

//הדפסת קישור לקובץ שנוצר
print '<p>הקובץ: <b>'.$filename. '</b> מוכן! <a href="xls/' . $filename .'" > להורדה לחץ כאן </a></p>';
}
}




?>

</body>
</html>

<?php

//פונקציה להתחברות לימות שמחזירה את הטוקן
//הארגומנטים הנדרשים: מספר מערכת, סיסמא.
function token_yemot($DID=0 , $password=0)
{

//בדיקה האם התקבלו הארגומנטים
if ($DID==0 or $password==0)
{
echo "לא הוזן מספר מערכת או סיסמא" ;
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/Login?username=$DID&password=$password";
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $token
$token = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך
$token = json_decode($token,TRUE);
//בדיקה האם אכן יש אישור להתחברות,
if ($token['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת הטוקן מהמערכת:";
//ואם כן…
}else{
//הצבת הטוקן לתוך המשתנה והחזרתו
$token = $token['token'];
return $token ;
}
}
}
//פונקצייה לקבלת כל התבניות הפונקציה מחזירה מערך של כל הרשימה
//הארגומנטים הנדרשים: טוקן
function yemot_GetTemplates($token=0)
{
//בדיקה האם התקבלו הארגומנטים
if ($token===0 )
{
echo "id_list_message=t-לא הוזן טוקן& ";
//אם התקבלו הארגומנטים ,ממשיך…
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/GetTemplates?token=$token";
//print $url;
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $templates
$templates = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך

$templates = json_decode($templates,TRUE);

//בדיקה האם אכן יש אישור להתחברות,
if ($templates['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת רשימת התבניות מהמערכת ";
//ואם כן…
}else{
//הצבת הרשימה לתוך המשתנה והחזרתה כמערך
$templates = $templates['templates'];
return $templates ;
}
}

}



//פונקצייה לקבלת רשימת תפוצה מסוימת הפונקציה מחזירה מערך של כל הרשימה
//הארגומנטים הנדרשים: טוקן, מספר תבנית בימות.
function yemot_GetTemplateEntries($token=0,$templateId=0)
{
//בדיקה האם התקבלו הארגומנטים
if ($token===0 or $templateId<10000)
{
echo "לא הוזן מספר תבנית תקני בימות המשיח, ,שימו לב שמספר התבנית אינו המספר הסידורי שלו במערכת שלכם , אלא מספר מזהה פנימי בימות המשיח";
//אם התקבלו הארגומנטים ,ממשיך…
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/GetTemplateEntries?token=$token&templateId=$templateId";
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $Entries
$Entries = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך

$Entries = json_decode($Entries,TRUE);
//בדיקה האם אכן יש אישור להתחברות,
if ($Entries['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת הרשימה מהמערכת , וודאו כי הזנתם מספר תבנית תקני, ,שימו לב שמספר התבנית אינו המספר הסידורי שלו במערכת שלכם , אלא מספר מזהה פנימי בימות המשיח";
//ואם כן…
}else{
//הצבת הרשימה לתוך המשתנה והחזרתה כמערך
$Entries = $Entries['entries'];
return $Entries ;
}
}

}

?>
בהצלחה
נערך לאחרונה על ידי 011371 ב 07:22 13/04/2018, נערך 2 פעמים בסך הכל.

אהבת ישראל
הודעות: 236
הצטרף: 15:31 29/05/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי אהבת ישראל » 23:35 12/04/2018

יישר כח!
באם לקוחות רוצים שנכניס את זה גם למערכת של ההגדרות המתקדמות לivr2 או במקום הקיים שמוריד בcsv, ניתן לפנות אלינו.

בברכה
מנחם

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי המוקד החרדי » 23:50 12/04/2018

עודכן גם בקישור הנ"ל: לחץ כאן

בהצלחה!

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי 011371 » 00:11 13/04/2018

עודכן גם בקישור הנ"ל: לחץ כאן

בהצלחה!
משום מה בשרת שלך זה יוצא לגמרי ג'יבריש ואפילו בפנקס רשימות זה לא נפתח טוב!

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי המוקד החרדי » 00:18 13/04/2018

עודכן גם בקישור הנ"ל: לחץ כאן

בהצלחה!
משום מה בשרת שלך זה יוצא לגמרי ג'יבריש ואפילו בפנקס רשימות זה לא נפתח טוב!
גם אני שמתי לב לזה,

משום מה הקובץ הראשון שפרסמת כאן כן עבד מעולה בשרת...

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי 011371 » 00:34 13/04/2018

עודכן גם בקישור הנ"ל: לחץ כאן

בהצלחה!
משום מה בשרת שלך זה יוצא לגמרי ג'יבריש ואפילו בפנקס רשימות זה לא נפתח טוב!
גם אני שמתי לב לזה,

משום מה הקובץ הראשון שפרסמת כאן כן עבד מעולה בשרת...
תנסה את שתי אלו
add.xls2.php.zip
(2.93 KiB) הורד 209 פעמים
add.xls3.php.zip
(2.84 KiB) הורד 195 פעמים

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי המוקד החרדי » 00:44 13/04/2018

עכשיו עובד מעולה!

להורדת רשימת תפוצה לחץ כאן

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי 011371 » 00:48 13/04/2018

עכשיו עובד מעולה!

להורדת רשימת תפוצה לחץ כאן
תכתוב איזה עבד לך אני ימחק את המיותר

קביעתא
הודעות: 377
הצטרף: 16:54 04/04/2016
מיקום: ארץ ישראל
יצירת קשר:

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי קביעתא » 01:12 13/04/2018

עכשיו עובד מעולה!

להורדת רשימת תפוצה לחץ כאן
תכתוב איזה עבד לך אני ימחק את המיותר
לי עובד מס' 2
תודה רבה
חיילך לאורייתא

נ.ב. ראיתי שאתה מוציא את הפלט בצורה של מערך, איך אני כותב כדי שיכתוב לי רק את המספר טלפון ומס' מזהה לדוג'

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ אקסל (.xls) של רשימת תפוצה

שליחהעל ידי 011371 » 01:50 13/04/2018

עכשיו עובד מעולה!

להורדת רשימת תפוצה לחץ כאן
תכתוב איזה עבד לך אני ימחק את המיותר
לי עובד מס' 2
תודה רבה
חיילך לאורייתא

נ.ב. ראיתי שאתה מוציא את הפלט בצורה של מערך, איך אני כותב כדי שיכתוב לי רק את המספר טלפון ומס' מזהה לדוג'
בתוך הלולאה של ה foreach במקום ה implode תכתוב

קוד: בחירת הכל

$Entri = $Entri [rowid]. '</td><td>'. $Entri [phone] ;
ואל תשכח למחוק את הכותרות המיותרות


חזור אל “פורום מפתחים API”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים | 2 אורחים