upload dat na server

11 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. ahoj, mam takovy dotaz ohledne uploadovani dat na server. Konkretne se jedna o to ze nevim jak mam zadat cestu ulozeni obrazku. Na localhost nemam problem protoze tam zadam cestu v pohode kdekoli do pc $adresar = "c:/obrazky/"; $nazev_obrazku = $adresar. $obrazek_docasny_nazev; co mam ale priradit do $adresar tady aby se mi to hodilo do slozky obrazky tady na webu zdarma ? Doufam ze je z dotazu jasny co sem nepochopil :D
  2. $cesta = "obrazky" alebo $cesta = "obrazky/nejaky_obrazok.jpg"
  3. Tam, kde máte skript na upload, přidejte adresář "obrazky". A do $adresar = "obrazek"; Tady na WZ a vlastně i ve většině hostingu je operační systém linux. Takže se musíte řídit jeho pravidly. Tedy neexistuje žádné c:, d: a tak. A za druhé na linuxu existuji uživatelská práva, takže nemůžete nahrávat soubor kam se Vám zachce. V případě PHP i HTML je dobré se řídít pomoci relativní adresy (http://polopate.jakpsatweb.cz/index.php?page=adresa)
  4. vy ste me asi nepochopili ... jde mi o tohle. Chci aby uzivatel mohl prijit na tu stranku a uploadovat tam treba obrazek z dovolene. Skript na to mam tenhle /////////////////////////////////////// $adresar = "obrazky/"; $nazev_obrazku = $adresar. $obrazek_docasny_nazev; if ( move_uploaded_file( $_FILES['obrazek_soubor']['tmp_name'], $nazev_obrazku ) ) { $vlozit = "INSERT INTO images ( image_caption, image_username, image_date ) VALUES ( '$obrazek_popisek', '$obrazek_uzivatel', '$datum' )"; $vysledek = mysql_query( $vlozit ) or die( mysql_error() ); $id_obrazku = mysql_insert_id(); $novy_nazev_souboru = $adresar. $id_obrazku. $pripona; rename( $nazev_obrazku, $novy_nazev_souboru ); } ////////////////////////////////////// proste mi to hodi tenhle blabol Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /3w/wz.cz/a/aster-arts/data/odesilani_obrazku/kontrola_obrazku.php on line 3 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) Prihlasovaci udaje do databaze mam dobre. Nevite nahodou co s tim popr jak mate vyresene uploadovani vy ?
  5. <HTML>Já myslím, že tě pochopili moc dobře. Zato ty asi nevíš, co chceš. Nejprve to vypadalo na problém s php, teď je to zas problém s mysql. Tak si to rozmysli :-) A můžeš nám ukázat, jak se s tou databází spojuješ? (heslo samozřejmě zahvězdičkuj)</HTML>
  6. =petr= Dneska se ve škole neučí anglicky? (Když si nejsi schopný chybovou hlášku sám přeložit..) Co máš na řádku číslo 3? (a na těch 2 před ním?). Na zbytek už se zeptala Thalia..
  7. anglicky samozrejme umim a je mi jasny ze mi to hlasi chybu nekde na tretim radku. Jenze v ostatnich souborech kde mam to pripojeni k databazi udelany uplne stejne akorat tam nemam cachry s obrazkem mi to chybu nehazi. Tezko mam chybu v tomhle <?php // spojeni databaze $spojeni = mysql_connect( "mysql.webzdarma.cz", "asterarts", "PASS") or die( mysql_error() );
  8. zkusil sem to udelat trosku jinak a mam trosku jiny problem .... Warning: move_uploaded_file(): Unable to access ftp://www.aster-arts.wz.cz/data/odesilani_obrazku/obrazky/picture_1.jpg in /3w/wz.cz/a/aster-arts/data/odesilani_obrazku/kontrola_obrazku.php on line 18 nevite nekdo kde mam zadat prihlasovaci udaje aby mi to povolilo upload na ftp
  9. <?php @ini_set("error_reporting", E_ALL); @ini_set("display_errors", "on"); error_reporting(E_ALL); //chyby = on function copy2($Xfile1,$Xfile2) { $f1 = fopen($Xfile1,"r"); $d1 = fread($f1, filesize($Xfile1)); $f2 = fopen($Xfile2,"w"); fwrite($f2, $d1, filesize($Xfile2)); fclose($f1); fclose($f2); } // --- dir info --- //user_dir | open_basedir $a = "upload_tmp_dir"; $b = "upload_max_filesize"; $c = "url"; $dir = array( 'current' => getcwd(), 'base' => ini_get("open_basedir"), //home 'upl_tmp' => ini_get($a) ? ini_get($a) : get_cfg_var($a),//temp 'upl_size'=> ini_get($b) ? ini_get($b) : get_cfg_var($b),//size 'this' => (isset($_GET[$c])) ? urldecode($_GET[$c]) : ((isset($_POST[$c]) ? $_POST[$c] : "")) ); $dir['this'] = substr($dir['this'],-1)=="/" ? substr($dir['this'],0,-1) : $dir['this']; //remove last / //$x = explode("/",$dir['this']); //$y = count($x)-1; //if ($x[$y]==".." && isset($x[$y-1]) && $x[$y-1]!="..") {unset//($x[$y]);unset($x[$y-1]); $dir['this']=implode("/",$x);} $x = $dir['this']; $x = ereg_replace("//+","",$x); //odmazat // $x = ereg_replace("(/.)+/","/",$x); //odmazat ./ $x = ereg_replace("([^/]..)+/","/",$x); //odmazat neco/.. /* $x = explode("/",$x); for ($i=count($x)-1;$i>=0;$i--) //odmazat "neco/.." { if (isset($x[$i]) && $x[$i]==".." && isset($x[$i-1]) && $x[$i-1]!="..") {unset($x[$i]); unset($x[$i-1]);} } $dir['this'] = implode("/",$x); */ $dir['this']=$x; if ($dir['this']=="") {$dir['this'] = ".";} if (substr($dir['this'],0,2)=="..") {$dir['this'] = ".";} //zakaz prochazeni nadrazenych slozek $dir['to'] = $dir['this']."/"; // --- dir info print --- $t = "<pre>"; $a = $dir['base']; $t.= "\ndir base = ".sprintf("%-38s",$a)." \tlaws = ".substr(sprintf('%o', fileperms($a)), -3); $a = $dir['current']; $t.= "\ndir getcwd() = ".sprintf("%-38s",$a)." \tlaws = ".substr(sprintf('%o', fileperms($a)), -3); $a = $dir['upl_tmp']; $t.= "\ndir upload TMP = ".sprintf("%-38s",$a)." \tlaws = ".substr(sprintf('%o', fileperms($a)), -3). "\t maxsize = ".$dir['upl_size']; $a = $dir['to']; $t.= "\ndir upload to = ".sprintf("%-38s",$a)." \tlaws = ".substr(sprintf('%o', fileperms($dir['to'])), -3); //chmod($dir['to'],0777); //$t.= "\nupload to (777) = ".$dir['to'] ."\tlaws = ".substr(sprintf('%o', fileperms($dir['to'])), -3); $t.= "</pre>"; $print_dirinfo = $t; $a = "action"; $action = isset($_POST[$a]) ? $_POST[$a]*1 : 0; $print_upload = ""; $print_perms = ""; $print_delete = ""; //XXX ! POZOR, toto je nebezpecne, radeji bych nahraval pouze podle prav, ktere jsou nastaveny! //nastav prava adresare na 777 //$old = umask(0); //@chmod($dir['to'],0777); if ($action===2) { // --- upload --- $a = "file0"; $file = isset($_FILES[$a])?$_FILES[$a]: (isset($HTTP_POST_FILES[$a])?$HTTP_POST_FILES[$a]:""); $old = umask(0); @chmod($dir['to'],0777); //nastav prava adresare na 777 if (isset($file['tmp_name']) && is_uploaded_file($file['tmp_name'])) { $from = $file['tmp_name']; $to = $dir['to'].$file['name']; $print_upload.= $file['name'].", "; move_uploaded_file($from,$to) || copy($from,$to) || copy2($from,$to); @chmod($to,0666); } } if ($action===1) { // --- change laws --- $arr_perms = array ( "or","ow","ox", "gr","gw","gx", "wr","ww","wx" ); $perms = array(); foreach ($arr_perms as $key=>$value) {$perms[$key] = isset($_POST[$value]) ? $_POST[$value]*1 : 0;} $perms = $perms[0]*0x0100 + $perms[1]*0x0080 + $perms[2]*0x0040 + $perms[3]*0x0020 + $perms[4]*0x0010 + $perms[5]*0x0008 + $perms[6]*0x0004 + $perms[7]*0x0002 + $perms[8]*0x0001; $a = "ch"; foreach ($_POST as $key=>$value) {if (ereg('^ch[0-9]+$',$key)) {chmod($dir['to'].$value,$perms); $print_perms.= $value.", ";} } } if ($action===3) { // --- delete files --- foreach ($_POST as $key=>$value) {if (ereg('^ch[0-9]+$',$key)) {unlink($dir['to'].$value);$print_delete.= $value.", ";} } } //XXX vrat prava adresare na puvodni //umask($old); $print_upload = $print_upload!="" ? "Uploaded files: ".$print_upload : ""; $print_perms = $print_perms!="" ? "Change laws on files: ".$print_perms : ""; $print_delete = $print_delete!="" ? "Deleted files: ".$print_delete : ""; // --- directories / files get --- $dirhandle = opendir($dir['to']); $files = array(); $dirs = array(); while ($rec = readdir($dirhandle)) { if ($rec!=="") { if (is_dir($dir['to'].$rec)) {if ($rec!=".") {$dirs[] = $rec;}} else {$files[] = $rec;} } } closedir($dirhandle); sort($dirs); sort($files); // --- directories / files print --- $dirX = $dir['this']=="." ? "" : $dir['this']."/"; $t = "\n<ul class=\"tree\">"; $t.="\n<li class=\"o\"><i>".substr(sprintf('%o', fileperms($dir['this'])), -3)."</i> <b>".$dir['this']. "</b>".($dir['base']!=""?"(".$dir['base'].")":"") ."</li>"; $t.="\n<li class=\"c\"><i>".substr(sprintf('%o', fileperms("./")), -3)."</i> <a href=\"./upl.php\">. HOME \"upl.php\"</a></li>"; foreach ($dirs as $key => $value) {$t.="\n<li class=\"c\"><i>".substr(sprintf('%o', fileperms($dirX.$value)), -3)."</i> <a href=\"./upl.php?".$c."=".urlencode($dirX.$value)."\">".$value."</a></li>";} foreach ($files as $key => $value) {$t.="\n<li class=\"i\">"."<input type=\"checkbox\" value=\"$value\" name=\"ch$key\"/>\n<i>".substr(sprintf('%o', fileperms($dirX.$value)), -3)."</i> <a href=\"".$dirX.urlencode($value)."\">".$value."</a></li>";} $t.= "\n</ul>"; $print_dirlist = $t; //phpinfo(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "doctype/xhtml11.dtd"> <head><title>pp uploader</title> <style type="text/css"> body, table, ul.tree li {font-size:12px;} ul.tree li.o {list-style-image:url("./img/open.gif");} ul.tree li.c {list-style-image:url("./img/closed.gif");} ul.tree li.c a {font-weight:bold;text-decoration:none;} ul.tree li.i {list-style-image:url("./img/item.gif");} ul.tree li i {font-style:normal; color:#f00;} </style> </head> <body> <h3>PP uploader</h3> <form action="upl.php" method="post" enctype="multipart/form-data"> <?php echo $print_dirlist; ?> <hr/> <?php echo $print_upload; echo $print_dirinfo; ?> <hr/> <table align="center"> <tbody valign="top"> <tr><td> <label>change laws</label> <table border="1"><tbody><tr><td> <table cellpadding="0" cellspacing="0"><tr> <td><input type="checkbox" value="1" name="or" id="or"/></td> <td><input type="checkbox" value="1" name="ow" id="ow"/></td> <td><input type="checkbox" value="1" name="ox" id="ox"/></td> </tr><tr><th><label for="or">r</label></th><th><label for="ow">w</label></th><th><label for="ox">x</label></th> </tr><tr><th colspan="3">owner</th> </tr></table> </td><td> <table cellpadding="0" cellspacing="0"><tr> <td><input type="checkbox" value="1" name="gr" id="gr"/></td> <td><input type="checkbox" value="1" name="gw" id="gw"/></td> <td><input type="checkbox" value="1" name="gx" id="gx"/></td> </tr><tr><th><label for="gr">r</label></th><th><label for="gw">w</label></th><th><label for="gx">x</label></th> </tr><tr><th colspan="3">group</th> </tr></table> </td><td> <table cellpadding="0" cellspacing="0"><tr> <td><input type="checkbox" value="1" name="wr" id="wr"/></td> <td><input type="checkbox" value="1" name="ww" id="ww"/></td> <td><input type="checkbox" value="1" name="wx" id="wx"/></td> </tr><tr><th><label for="wr">r</label></th><th><label for="ww">w</label></th><th><label for="wx">x</label></th> </tr><tr><th colspan="3">world</th> </tr></table> </td></tr></tbody></table> </td><td> <label for="file0">add file</label> <br/><input type="hidden" value="<?php echo $dirX; ?>" name="<?php echo $c; ?>"/> <input type="hidden" value="2097152" name="MAX_FILE_SIZE"/> <input type="file" value="" ACCEPT="*/*" name="file0" id="file0"/> </td></tr></tbody><tfoot><tr><td colspan="3" align="center"> <p> <label for="action">select action</label> <select name="action" id="action"> <option value="0">none</option> <option value="1">(?) change files laws</option> <option value="2">(+) upload file</option> <option value="3">(-) delete files</option> </select> <input type="submit" value="Ok"/> </p> </td></tr></tfoot></table> </form> </body>
  10. <HTML>peta: pro jistotu ti to zopakuju i sem. Drž se svého hesla, že dlouhé kódy se nevkládají přímo do vlákna. Příště to bez upozornění smažu.</HTML>
  11. peta: co se stalo s odkazováním na tvoji stránku s plnýma zdrojákama?

← Zpět na všechna témata