NKod Δημοσ. 3 Απριλίου 2008 Δημοσ. 3 Απριλίου 2008 Χαίρεται παίδες.. Προσπαθώ να κατασκευάσω ένα κώδικα ο οποίος αυτόματα από μία php σελίδα θα παίρνει κάποια στοιχεία, θα τα μεταφέρει σε μια άλλη php (xml_creation.php) σελίδα και έπειτα αυτή θα δημιουργεί ένα καινούργιο xml αρχείο στο οποίο θα γράφει μέσα τα στοιχεία του xml που χρειάζομαι με σκοπό αυτά να τα περνεί μετά ένα .swf αρχείο για απεικόνιση admin panel για image gallery. Το πρώτο αρχείο είναι αυτό: <? require ("config.php"); $COOKIE_LOGIN_NAME='login'; $COOKIE_PASSW_NAME='pass'; $login = $_COOKIE[$COOKIE_LOGIN_NAME]; $pass = $_COOKIE[$COOKIE_PASSW_NAME]; $a1=strcmp($admin_login,$login);unset($admin_login); $a2=strcmp(md5($admin_pass),$pass);unset($admin_pass); if (($a1!=0)or($a2!=0)) { header("Location: login.php"); exit; } else { Header('Cache-Control: no-cache, must-revalidate'); Header('Pragma: no-cache'); Header('Expires: Mon,26 Jul 1980 05:00:00 GMT'); include("inc/header.php"); // $dirs_count=0; $category_settings=''; $Open=opendir($gallery_path); while ($Files=readdir($Open)) { if (!is_file($Files)&&$Files!='.'&&$Files!='..') { print '<table width="239"><tr><td style="color:#ffffff">'; // print "<a href=\"admin.php?del_dir=$Files\" class=\"menu_2\"><img src=\"pics/delete.gif\" border=0 alt=\"delete\"></a> "; //print "<a href=\"admin.php?edit_dir=$Files\" class=\"menu_2\"><img src=\"pics/edit.gif\" border=0 alt=\"edit\"></a> "; if ($dir_selected==$dirs_count) { $selectDir=$Files; print "<a href=\"admin.php?dir_selected=$dirs_count\" class=\"menu_1\">$Files</a>"; //read category settings $FileName="$gallery_path/$Files/settings.dat"; if (is_file($FileName)) { $File=fopen($FileName,'r'); if (filesize($FileName)>0) { $category_settings=fread($File,filesize($FileName)); }; fclose($File); }; } else { print "<a href=\"admin.php?dir_selected=$dirs_count\" class=\"menu_2\">$Files</a>"; }; print '</td></tr></table>'; $dirs_count++; }; }; //select image - save category settings $select_file=$_GET['select_file']; if (($select_file!='')&&($dirs_count!=0)) { $FileName="$gallery_path/images/settings.dat"; $File=fopen($FileName,'w'); fwrite($File,$select_file); fclose($File); $category_settings=$select_file; }; // add new picture if (isset($_FILES["new_file"])) { if (is_uploaded_file($_FILES['new_file']['tmp_name'])) { $filename = $_FILES['new_file']['tmp_name']; $upload_name = $_FILES['new_file']['name']; $ext = substr($_FILES['new_file']['name'], 1 + strrpos($_FILES['new_file']['name'], ".")); $size = GetImageSize($filename); if (($size)&&($size[0]<$pic_max_size_x)&&($size[1]<$pic_max_size_y)) { if (copy($filename, $gallery_path."/images/".$upload_name)) { require ('inc/imgresize.php'); img_resize($filename, $gallery_path."/images/".$upload_name, $thumb_size_x, $thumb_size_y); }; unlink($filename); } else { print "<center><strong class=\"white\" style=\" font-size:11px \">Size of new picture is very large. Please resize this.<br /><br />"; print "Maximum size of new picture must be: ".$pic_max_size_x."x".$pic_max_size_y."</center><br /><br />"; }; }; }; // delete picture $delete_file=$_GET['delete_file']; if ($delete_file) { unlink($gallery_path."/images/".$delete_file); }; print '<br><br><table width="100%" style="margin-left:15px; margin-top:0px;"><tr><td colspan="3"><strong class="white" style=" font-size:11px ">Add new picture:</strong><form enctype="multipart/form-data" action="admin.php" method="post"><input name="dir_selected" type="hidden" value="'.$dir_selected.'"><input type="file" name="new_file" style="border-color:#777777; border-width:1px; border-style:solid; background-color:#000000; color:#777777 "> <input name="OK" type="submit" value="" style="width:51px; height:21px; border-width:0px; border-style:solid; background-image:url(pics/add.jpg)"></form></td></tr></table>'; if ($dirs_count>0) { $k=0; $Open=opendir($gallery_path."/images/"); if ($Open) { while ($Files=readdir($Open)) { $out = array(); preg_match('/\S+\.(\S+)$/', $Files, $out); if ($out[1]==="jpg") { print '<table width="100%" bgcolor="#161616" cellspacing="1" cellpadding="5" style="margin-left:15px; margin-top:0px;">'; if ($k==0) { print '<tr bgcolor="#313131">'; $k++; } else { print '<tr bgcolor="#2d2d2d">'; $k=0; }; print '<td width="38"><a href="admin.php?'; print "delete_file=$Files&dir_selected=$dir_selected"; print '"><img src="pics/delete.gif" border=0 alt="delete" style="margin-left:12px "></td>'; print '<td width="38"><a href="admin.php?'; print '<td width="50"><a href="'; print $gallery_path."/images/".$Files; print '"><img src="'; print $gallery_path."/images/".$Files; print '" border="0" height="50"></a></td>'; print '<td style="color:#FFFFFF ">Link:<input type="text" name="caption" size="20" value="'; print $gallery_path."/images/".$Files; print '">'; print '<td style="color:#FFFFFF ">Caption:<input type="text" name="caption" size="80"></td>'; print '</table>'; }; }; } else { print '<table width="100%">'; print '<tr>'; print '<td colspan="3">no files found</td>'; print '</td></tr></table>'; }; }; include("inc/bottom.php"); }; ?> <br> <br> <p align="center"> <form method="POST" action="xml_creation.php"> <input type="hidden" name="xml_creation" value="true"> <input type="submit" value="Save Changes" name="B1"></p> </form> με το οποίο απεικονίζω στο χρήστη τις εικόνες που έχει του επιτρέπω να γράωει κάποιο caption και τέλος υπάρχει ένα κουμπί στο οποίο μόλις το πατήσει καλείται η σελίδα xml_creation.php η οποία θα δημιουργεί και θα γράφει το xml και είναι αυτή: <? if(isset($_POST['xml_creation'])){ echo "New Xml was successfully created"; $xmlfileName = "content"; $image = $_POST['image']; $caption = $_POST['caption']; $link = $_POST['link']; $xml_dec = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; $rootPreELementStart = "<content>"; $rootPreElementEnd = "</content>"; $rootELementStart = "<item>"; $rootElementEnd = "</item>"; $xml_doc= $xml_dec; $xml_doc= $rootPreELementStartd; $xml_doc .= $rootELementStart; $xml_doc .= "<image>"; $xml_doc .= $image; $xml_doc .= "</image>"; $xml_doc .= "<info>"; $xml_doc .= $caption; $xml_doc .= "</info>"; $xml_doc .= "<link>"; $xml_doc .= $link; $xml_doc .= "</link>"; $xml_doc .= $rootElementEnd; $xml_doc= $rootPreELementEnd; $fp = fopen('content.xml','w'); $write = fwrite($fp,$xml_doc); } ?> Το αποτέλεσμα της όλης δουλειάς είναι να δημιουργείται το xml αρχείο αλλα να είναι κενό... Τι φταίει? Καμία ιδέα?
snk7 Δημοσ. 4 Απριλίου 2008 Δημοσ. 4 Απριλίου 2008 θα σε παραπεμψω στη τεχνολογια/μεθοδο mashup σε γενικες γραμμες. τσεκαρε την εντολη curl. ετσι οπως το εχεις αμα ενας δευτερος επισκεπτης παει να δει την σελιδα τοτε θα φτιαξει το content.xml και ο πρωτος θα βλεπει τις φωτο του δευτερου, επισης αμα πανε να το δουνε ταυτοχρονα.. θα γινει αλαλουμ. καλυτερα να το βαζεις μεσα σε sql το αποτελεσμα της curl και να κανεις echo ολον τον κωδικα... τεσπα για να εστιαστω σε αυτο που κανεις... πρεπει να κανεις χρηση της DOM βιβλιοθηκης θα σε βοηθησει αμα ψαξεις ως domxml_new_doc('1.0'); για php4 kai new DomDocument('1.0'); για php5 ειμαι σιγουρος πωε θα το βρeις τωρα, σαν pseudocode δουλευει καλα αποσο βλεπω σε αχαρα μαυρα γραμματα
snk7 Δημοσ. 4 Απριλίου 2008 Δημοσ. 4 Απριλίου 2008 επισης το echo "New Xml was successfully created"; δεν ειναι εγγυρο, απλα ο κωδικας καταλαβαινει οτι η σελιδα καλεστηκε απο την φορμα σου... εν μερη...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.