הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה בקשר להצגת תמונה בPHP (קל) (https://hosts.co.il/forums/showthread.php?t=58631)

MusicMan 02-01-08 18:53

שאלה בקשר להצגת תמונה בPHP (קל)
 
שלום יש לי מלא תמונות בתיקיה אז אני מבקש אם מישו יכול לעזור לי.
לעשות שאם לתמונה קוראים IMG אז שאני יכנס ל view.php?do=IMG זה יציג אותו במרכז הדף(בגודל 500X400) ככה אני יוכל להציג את התמונות ולשים פרסומות.
ד"א
קובץ הview.php והתמונות באותו הדף...
ומי שרוצה שייתן לי קישור לאתר שלו או משו ואני יקשר אליו מהאתר שלי...
תודה!
*עריכה
מנהל או אחראי בבקשה שנה את הכותרת ל 'שאלה בקשר להצגת תמונה בPHP (קל)'

bdeveloper 02-01-08 19:41

השאלה שלך לא מובנת כלל.
תנסח את השאלה מחדש ונוכל לענות לך

Ori The Man 02-01-08 19:50

תשתמש ב fread ו fwrite
חפש על זה ב php.net
ואז משתמשים בGET

MusicMan 02-01-08 21:10

bdeveloperאני רוצה קוד לקובץ שיציג את התמונה שבחרתי באמצע הדף...
לדוגמא פה view.php?do=IMG בחרתי בתמונה בשם IMG ופה view.php?do=IMG1 בחרתי בתמונה IMG1...
Ori The Man ישנה בעיה קטנה שאני כלל לא מבין PHP8-)|:

BlueNosE 02-01-08 21:25

ציטוט:

נכתב במקור על ידי Ori The Man (פרסם 597255)
תשתמש ב fread ו fwrite
חפש על זה ב php.net
ואז משתמשים בGET

מדובר על MOD REWRITE בעיקר
בקשר לקריאת התמונה עצמה הוא יכול פשוט להשתמש בתג IMG פשוט.

Labs 02-01-08 21:45

אין לי מושג מה כולכם רוצים מהילד

PHP קוד:

$img=$_GET['do'];
echo <<<HTML
<img width="500" height="400" src="$img" alt="image bla blalba" />
HTML; 

אפשר לייעל את זה עם קוד לTHUMB אבל אם את זה אתה בקושי עושה אז זה יהיה כבר מסובך לגמרה בישבלך

MusicMan 03-01-08 16:21

תודה רבה לזה התכוונתי!
אבל ישנה בעיה אני מפנה את הדפדפן לhttp://10.0.0.1/pic/view.php?do=IMG_0254.jpg (אני עם easy php) התמונה נמצאת עם הקובץ view.php אבל הוא רושם לי:

PHP קוד:

Parse errorparse errorunexpected T_SLexpecting ',' or ';' in c:program fileseasyphp1-7wwwpicview.php on line 3 


Daniel 03-01-08 19:13

מאוד לא מאובטח, אבל תיקנתי את הקוד,
HTML קוד:


$img=$_GET['do'];
echo <<<HTML
<img width="500" height="400" src="{$img}" alt="image bla blalba" />

HTML;


MusicMan 03-01-08 20:14

mastet כנראה אני ממש לא מבין PHP כי הוא רושם לי

קוד:

Parse error: parse error, unexpected $end in c:\program files\easyphp1-7\www\pic\view.php on line 6
פתחתי קובץ בשם view.php ושמתי בפנים:
PHP קוד:

<?php
$img
=$_GET['do'];
echo <<<HTML
<img width="500" height="400" src="{$img}" alt="image bla blalba" />
HTML;  
?>

מה לא טוב?
ד"א מה ההשלכות של חורי האבטחה האלה.?

BlueNosE 03-01-08 20:19

שום השלכות כל עוד מדובר בשרת ביתי

MusicMan 03-01-08 20:23

אבל בשלב כל שהוא אני יעלה אותו...
ד"א יש פתרון לשאלה?

BlueNosE 03-01-08 20:41

אז תצטרך לאבטח כי יש בזה הרבה בעיות בסקריפט כזה.

Inet 03-01-08 21:10

בו נגיד את זה ככה: בעזרת טיפה עבודה אני מוריד לך את כל האתר =]....

BlueNosE 03-01-08 21:35

ציטוט:

נכתב במקור על ידי Inet (פרסם 597534)
בו נגיד את זה ככה: בעזרת טיפה עבודה אני מוריד לך את כל האתר =]....

אבל זה עדיין ברמת המחשב שלו, אז אין בעיה.. פשוט שידאג לאבטח את זה בהזדמנות הראשונה

MusicMan 04-01-08 10:27

לא נורא על השרת אין כלום חוץ מהתמונות...
מישו יודע מה הבעיה? למה זה לא עובד?

Elad-A 04-01-08 13:11

תנסה את זה:

PHP קוד:

<?php 

$img 
$_GET['i'];
$ext strtolower(array_pop(explode('.' $img)));
$allow_ext = array('png' 'bmp' 'gif' 'jpg');

if(!
in_array($ext $allow_ext))
{
    die(
'סיומת הקובץ לא מאופשרת להצגה');
}

if(!
file_exists($img))
{
    die(
'הקובץ לא נמצא על השרת');
}

echo 
"<img width=\"500\" height=\"400\" src=\"{$img}\" alt=\"image bla blalba\" />";

?>


MusicMan 04-01-08 20:10

תראו הצלחתי לבד (ואני מזה מבסוט אני בקושי יודע PHP) לשפץ את הקוד שנתנו לי פה והפכתי אותו לכזה:
PHP קוד:

<?php
$img
=$_GET['img'];
$img--;
echo 
"<a href=\"http://phpbbmods.freehost.co.il/pic/view.php?img={$img}\">  קודמת</a>";
$img++;
echo 
"<img src=\"http://phpbbmods.freehost.co.il/pic/ilcars%20%28{$img}%29.jpg\">";
$img++;
echo 
"<a href=\"http://phpbbmods.freehost.co.il/pic/view.php?img={$img}\"> הבאה</a>";
?>

עדיין יש בו חורים? כי אפשר לשים רק מספרים...
Elad-A תודה רבה לך! אני נראה לי ישלב בינהם..

BlueNosE 04-01-08 20:13

תראה,
בגלל שרשמת img-- - זה גורם לכל העניין להיות יותר פשוט.
בעצם ביצעת TYPE CASTING לINT בהנחה שהערך לא היה INT (אלא STRING למשל). וזה מאבטח את הקטע של XSS.

עכשיו יש עניין נוסף.. שזה לתת דברים שלא קיימים, אבל זה לא חובה לבצע - מה שכן, אתה יכול לבדוק האם הפונקצייה קיימת באמצעות.. file_exists.

www.php.net/file_exists

MusicMan 05-01-08 11:49

BlueNosE אני יודע C לכןהצלחתי לרשום את כל הקטע (C ממש דומה לPHP) אני ינסה להבין את ה file_exists
בקשר לINT איך אני מגדיר משתנה שיהיה כINT?

BlueNosE 05-01-08 12:21

תשמע זה לא חובה אם אתה כבר מראש יודע (נגיד $i = 50), אבל אם אתה לא יודע, נגיד מקבל מGET, אתה יכול להשתמש בפונקצייה intval או לרשום
PHP קוד:

$i = (intiger)$i



כל הזמנים הם GMT +2. הזמן כעת הוא 12:03.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ