פורסם 2006 בפברואר 1419 שנים שלום לכולם,עד כה עזרתם לי יפה פה בפורום לפרוייקט אותו אני מרים, אשמח אם תוכלו לעזור לי גם בעניין זה.אני רוצה להחזיר תמונה מסויימת ובכל פעם בשם אחר.ז"א : אם שם התמונה היא X.gif אז פעם בשם 1.gif ועם שניה כ 2.gif.ה PHP שלי מחזיר ערכים לפי שאילתות הנשלחות אליו, כעת הייתי רוצה להצמיד לערכים אלו תמונה, הכי נוח יהיה על ידי שינוי שם התמונה לערך המבוקש.סיבת השאלה:ליתר העמקה בשאלה שלי אציין כי אני מבצע סימולציה על שרת פרוסקי squid, כאשר האובקייטים אותם אני מחזיר הם בעצם ערכים משדות ממסד נתונים mysql, כאשר ה squid אינו מבצע caching לדפים המוחזרים כאשר מופיעים בהם רק הערכים המוחזרים.לעומת זאת אם אני מחזיר תמונה אז כן מתבצע caching לה.אם התומנה תוחזר עם שם האובייקטים אותם ביקשתי אז זה יספיק לצרכי הסימולציה המבוקשת.
פורסם 2006 בפברואר 1519 שנים שים את הקוד הבא איפה שאתה רוצה שהתמונה תופיע:<? function make_seed(){ list($usec, $sec) = explode(' ', microtime()); return (float) $sec + ((float) $usec * 100000);}mt_srand(make_seed());$randval = mt_rand(); copy("bla.jpg", $randval.".jpg"); echo '<img src="'.$randval.'jpg">';setcookie("name", $randval);?>כמובן ששיטה זו תגרום לעומס על השרת, לכן פתרתי זאת על ידי מעט :JavaScript<body onLoad='frames["end"].location.href="delete.php"' onUnLoad='frames["end"].location.href="delete.php"'>רק אל תשכח לשים iframe בעלת ערכי id ו-name בשם "end".בקובץ delete.php פשוט תשים:<?delete($_COOKIE["name"]);?>בהצלחה
פורסם 2006 בפברואר 1919 שנים מחבר זה קצת דחוף אודה לתגובות ...טוב, בעקרון אני חלש ב PHP (לומד תוך כדי יישום הפרויקט), אני צריך עזרה יותר ממשית, לכן אפרט בדיוק מה יש לי, כי לא ממש הצלחתי להיעזר בקוד שניתן לי.יש לי קובץ ://opt/lampp/htdocs/mamimo.jpgיש לי את השם הרצוי במשתנה:$row->req_ObjectIdז"א אני רוצה שה PHP ישלח/יציג את במקום mamimo.jpg את הערך שבמשתנה כשם התמונה : $row->req_ObjectId.jpgכיצד אני קורא את קובץ התמונה ל PHP, ניסיתי לפי הדוגמה למעלה אך קיבלתי ERROR עד שהשתמשתי ב ob_start אך עדיין זה נראה כאילו שום דבר לא קורה.תודה רבה,
פורסם 2006 בפברואר 1919 שנים הקובץ שמראה את התמונה:<body onLoad='frames["end"].location.href="delete.php"' onUnLoad='frames["end"].location.href="delete.php"'><ifrmae width="1" height="1" name="endd" src="bla.html"><? copy("bla.jpg", $row.".jpg"); echo '<img src="'.$row.'.jpg">'; setcookie("name", $row);?></body>delete.php:<? unlink($_COOKIE["name"].".jpg");?>הקוד עקרונית עובד, אבל החלק של ה-JavaScript מקרטע. :-Xאתה יכול לראות את זה ע"י כניסה ידנית ל-delete.php לאחר שהדף סיים לטעון.
פורסם 2006 בפברואר 1919 שנים יש לי פתרון טיפה טוב יותר(לדעתי)קובץ:pic.php<?phpheader('Content-Type: image/jpeg');header('Content-Disposition: attachment; filename="'.$_GET['name'].'.jpg"');readfile('//opt/lampp/htdocs/mamimo.jpg');?>איפה שאתה רוצה את התמונה:<img src="pic.php?name=<?php echo $row->req_Objectid; ?>" />
פורסם 2006 בפברואר 1919 שנים מחבר טוב אני מבולבל לחלוטין, מה שיש לי כרגע זה קובץ PHP יחיד -> test.php, אשמח אם תעזור איך להכניס את התמונה פנימה<?phpecho $_POST['test'];$link = mysql_connect("localhost");$result = mysql_query ("select req_ObjectId,req_ClientId,date_format(date,'%a, %d %b %Y') as Date,time from test.test5 where test.test5.row=$test");while ($row = mysql_fetch_object($result)) {header("Last-Modified: Tue, 31 Jan 2006 10:54:00 GMT");header("Cache-Control: Dynamic");header('Content-type: image/jpeg');header('Content-transfer-encoding: binary');$src =imagecreatefromjpeg('//opt/lampp/htdocs/samsung.jpg');imagejpeg($src,$row->req_ObjectId,100);#copy('$src', $row->req_ObjectId.".jpg");#echo '<img src="'.$row->req_ObjectId.'jpg">';#setcookie("name", $row->reql);sleep(0.5); #just for testing}mysql_close($link);?>
פורסם 2006 בפברואר 1919 שנים מחבר יש לי פתרון טיפה טוב יותר(לדעתי)קובץ:pic.php<?phpheader('Content-Type: image/jpeg');header('Content-Disposition: attachment; filename="'.$_GET['name'].'.jpg"');readfile('//opt/lampp/htdocs/mamimo.jpg');?>איפה שאתה רוצה את התמונה:<img src="pic.php?name=<?php echo $row->req_Objectid; ?>" />אכן נראה פשוט, אני צריך להציג את התמונה בתוך לולאה (כל פעם אחת אחרת), אים תוכל להתייחס לקוד שבתגובה הקודמת שלי.תודה
פורסם 2006 בפברואר 1919 שנים אם הבנתי נכון:<?phpecho $_POST['test'];$link = mysql_connect("localhost");$result = mysql_query ("select req_ObjectId,req_ClientId,date_format(date,'%a, %d %b %Y') as Date,time from test.test5 where test.test5.row=$test");while ($row = mysql_fetch_object($result)) {echo '<img src="pic.php?name='.$row->req_Objectid.'" /><br />';}mysql_close($link);?>פעם הבאה פשוט תערוך את ההודעה של אם מידע חדש במקום להגיב פעמיים
פורסם 2006 בפברואר 1919 שנים הקובץ שמראה את התמונה:<body onLoad='frames["end"].location.href="delete.php"' onUnLoad='frames["end"].location.href="delete.php"'><ifrmae width="1" height="1" name="endd" src="bla.html"><? copy("bla.jpg", $row.".jpg"); echo '<img src="'.$row.'.jpg">'; setcookie("name", $row);?></body>delete.php:<? unlink($_COOKIE["name"].".jpg");?>הקוד עקרונית עובד, אבל החלק של ה-JavaScript מקרטע. :-Xאתה יכול לראות את זה ע"י כניסה ידנית ל-delete.php לאחר שהדף סיים לטעון.אולי בגלל endd ו end?
פורסם 2006 בפברואר 1919 שנים אולי בגלל endd ו end?משום מה FF הפסיק לתת שגיאות אבל לא עושה מעבר.IE פשוט ממשיך לתת שגיאות.
פורסם 2006 בפברואר 2119 שנים מחבר אם הבנתי נכון:<?phpecho $_POST['test'];$link = mysql_connect("localhost");$result = mysql_query ("select req_ObjectId,req_ClientId,date_format(date,'%a, %d %b %Y') as Date,time from test.test5 where test.test5.row=$test");while ($row = mysql_fetch_object($result)) {echo '<img src="pic.php?name='.$row->req_Objectid.'" /><br />';}mysql_close($link);?>פעם הבאה פשוט תערוך את ההודעה של אם מידע חדש במקום להגיב פעמייםטוב,לאחר מספר נסיונות :ביצעתי את שהצעת, קובץ עם התוכן שהוצע והוספתי את השורה ללולאה שלי. ואני מקבל :(אני לא יכול לרשום את התוצאה פה - מקבל ABUSE מ SPD, לכן צרפתי את ה"פלט" כקובץ תמונה).אני לא מצפה לראות תמונה משום שזה לא תחת ממשק גראפי אך ברור כי משהו לא עובד כמו שצריך.תודה רבה לעזרה עד כה.[attachment deleted by admin]
פורסם 2006 בפברואר 2119 שנים אם הבנתי נכון:<?phpecho $_POST['test'];$link = mysql_connect("localhost");$result = mysql_query ("select req_ObjectId,req_ClientId,date_format(date,'%a, %d %b %Y') as Date,time from test.test5 where test.test5.row=$test");while ($row = mysql_fetch_object($result)) {echo '<img src="pic.php?name='.$row->req_ObjectId.'" /><br />';}mysql_close($link);?>היתה לי שגיאת כתיב ב$row->req_Objectidבמקום$row->req_ObjectId
פורסם 2006 בפברואר 2119 שנים מחבר היתה לי שגיאת כתיב ב $row->req_Objectid במקום $row->req_ObjectId אוקי, חבל שלא שמתי לב בעצמי זה היה מזרז את העניינים. כעת, כפי שציינתי מקודם אני משתמש בפרל על מנת למשוך את המידע. כאשר המטרה היא לבדוק האם שרת פרוקסי שנעשו בו שינויים מבצע cache לאובייקט המבוקש. עדיין אחרי שתיקנתי את השגיאה, אז הפלט הוא דומה עם שם האובייקט הנכון (מודפס על גבי המסך) והפרוקסי מזהה את זה כטקסט, אולי echo זו לא הדרך הנכונה?? אני בדקתי וכשאני מושך ב get (בפרל) את התמונה ישירות זה כן עושה לזה cache. תודה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.