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

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

WebClub.co.il 11-01-09 15:43

בעיה בקוד העלאת תמונה
 
שלום לכולם.

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

כשאני מנסה להעלות תמונה, הוא רושם את הערכים ב SQL (את קישור הקובץ) , אבל לא מעלה את הקובץ בפועל לסיפריה, לסיפריה יש הרשאה 777.
כמו כן, בשרת אחר, הכל עובד חלק ותקין, הבעיה שעל השרת הזה אני לא רוצה להעלות עוד אתר, ניסיתי את האתר הזה על 2 שרתים נוספים ובשניהם אותה בעיה... מה יכולה להיות הבעיה ?

אתם יכולים להגיד בעיה בקוד, אבל אז איך יש שרת שזה כן עובד שם ?


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

SDF 11-01-09 15:53

הבעיה היא בקישור בין הRDBMS למודול זמן ריצה בסטאק של PHP.

ועכשיו ברצינות:
1. תביא את הקוד.
2. מה ההבדלים בין השרת שבו הקוד לא פועל לזה שהקוד פועל?
safe mode?
גרסאות php / mysql

קוד לדוגמא:
http://www.freebsd.co.il/test/upload
מקור: http://www.freebsd.co.il/test/upload/index.txt

WebClub.co.il 11-01-09 16:05

<?

$dir="image/";
if(empty($_POST['sub']))
{
?>
<center>
<table border="1" dir="rtl" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#142437" width="100&#37;">
<tr>
<td class=tbl height="20" width="100%">&nbsp; הוספת תמונה</td>
</tr>
<tr>
<td class=tbl2 width="100%"><font color=#FFFFFF size=2>הכנס תמונה:</font></td>
</tr>
<tr>
<td class=tbl3 width="100%">

<form method="POST" enctype="multipart/form-data">
<input type="file" name="files" size="20"></br><input type="submit" value="שלח" name="sub"></p>
</form>
</td>
</tr>
</table>
</center>
<?
}else{

$_FILES['file']['name'] = str_replace(chr(32), "", $_FILES['file']['name']);

$upname=explode("." , $_FILES['files']['name']);
$upname[0] = str_replace(".", "", $upname[0]);
$name=$upname['0'].".".$upname[1];
$rand=rand(156449,1977777777);
if(eregi("[א-ת]+" , $upname[0]))
{
$name=$rand.".".$upname[1];
}

if (file_exists($dir.$name))
{

$name=$rand.".".$upname[1];

}

if($_FILES['files']['size'] >= 1000*512)
{
echo "הקובץ גדול מהמותר";
}
elseif( $upname[1] != "jpg" )
{
echo "סיומת לא מותרת להעלאה";
}

else{
$s=move_uploaded_file($files , $dir.$name);


$s=mysql_query("insert into imgs (user,img) values ('".$_SESSION['user']."','$dir$name')")or die(mysql_error());
echo "העלאת בהצלחה.";
}
}
?>


זה הקוד.

גירסאות אסקיואל ופיאייגפי זהים
לגבי סייפמוד, לא בדקתי, מה ההבדל אם הוא בסייפמוד או לא?

תודה מראש.

Shay Ben Moshe 11-01-09 16:24

לא בטוח אבל לא יזיק לנסות.
תנסה לרשום את הנטיב המלא של התיקייה.
במקום:
ציטוט:

$dir="image/";
תנסה:
ציטוט:

$dir="http://www.mysiteurl.com/image/";
בהצלחה..

WebClub.co.il 11-01-09 16:34

תודה, אבל כבר ניסיתי ולא עבד...


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

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