[ goran33 @ 18.11.2002. 23:16 ] @
Kada pokušam da izvršim unos slike u bazu tamo gde je nema (radi se update upit), javljaju se sledeće greške:

Warning: fopen("C:\\Documents and Settings\\GM\\Desktop\\slike \\1561.gif", "r") - No such file or directory in /home/public_html/prikaz.php on line 66

Warning: stat failed for C:\\Documents and Settings\\GM\\Desktop\\slike \\1561.gif (errno=2 - No such file or directory) in /home/public_html/prikaz.php on line 66

Warning: Supplied argument is not a valid File-Handle resource in /home/public_html/prikaz.php on line 66

Linija 66 je:
$data = addslashes(fread(fopen($src, "r"), filesize($src)));

Kada je linija 66:
$data = fread(fopen($src, "r"), filesize($src));

dešava se identična stvar...

A kada unosim novu sliku (insert upit) onda sve radi perfektno...
U lokalu mi sve radi super sa addslashes, a i ovde i na spoljnom serveru je magic_quotes_gpc uključen...


Tj. ovo ne radi:
$data = addslashes(fread(fopen($src, "r"), filesize($src)));
$dodaj = "UPDATE objekat SET src='$data', filename='$src_name', filesize='$src_size', filetype='$src_type' WHERE id = '$id'";
mysql_query($dodaj);

,a isto to samo sa insert, radi...

Ima li iko neku ideju zašto se to dešava???

[ broker @ 18.11.2002. 23:41 ] @
Očigledno ti se putanje ne slažu, pokušavaš da otvoriš datoteke mešajući DOs i unix putanje.
[ goran33 @ 19.11.2002. 02:15 ] @
Da, ali nije mi jasno zašto normalno uradi insert, a ne može update... moguće da tu nešto nije u redu sa putanjom... U helpu piše:

If you are experiencing problems with reading and writing to files and you're using the server module version of PHP, remember to make sure that the files and directories you're using are accessible to the server process.

On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.

<?php
$fp = fopen ("c:\\data\\info.txt", "r");
?>

Ali i dalje ne znam kako to može da se odradi...
No such file or directory??? Smeće...

[ -zombie- @ 19.11.2002. 04:11 ] @
u greski koju ti prikazuje, ima jedan space posle slike a pre \\

btw, bolje koristi / umesto \\ . prvo, manje glavobolje ;) a drugo, isti kod ce raditi i na linux/unix makinama...
[ goran33 @ 19.11.2002. 10:14 ] @
Jeste, ali imaš browse dugme, i putanja se upisuje sama... To je problem... Ali kad unosim novi zapis radi, a kad ga menjam ne radi!!! Sa potpuno istom linijom za citanje fajla...
[ dwarf @ 19.11.2002. 12:53 ] @
Cekaj, meni nista nije jasno: dali ti prvo fajl negde smestis pa tek onda otvaras ili kako??
[ goran33 @ 19.11.2002. 19:42 ] @
Evo recimo da imaš ovakvu tabelu:
Code:

CREATE TABLE objekat (
  id int(10) NOT NULL auto_increment,
  ime varchar(20) NOT NULL default '', 
  src longblob NOT NULL,
  filename varchar(50) NOT NULL default '',
  filesize varchar(50) NOT NULL default '',
  filetype varchar(50) NOT NULL default '', 
  PRIMARY KEY  (id),
  UNIQUE KEY id (id)
);


Na prvoj strani npr. index.php imaš formu sa:
1.text polje u koji unosiš ime ($ime)
2.file polje u koje ubaciš putanju do slike sa tvog harda ($src)
3.submit dugme ka fajlu npr. unos.php

unos.php
Code:

<? 
include ("connect.php");
if ($src!='')
{
$data = addslashes(fread(fopen($src, "r"), filesize($src)));
}
mysql_query ("INSERT INTO objekat (ime, src, filename, filesize, filetype) 
VALUES ('$ime', '$data', '$src_name', '$src_size', '$src_type')");
?>


Zapis se korektno unese u bazu i može da se pročita iz nje. Sve radi ok...
Ali ako hoću da umesto te slike stavim neku drugu, to ne radi nego javlja one greške...
Evo, ako hoću da uradim ovo (imam sve varijable ($src, $ime, $slika=='promeni'):

Code:

if ($src!='' && $slika=='promeni')
{
$data = addslashes(fread(fopen($src, "r"), filesize($src)));
$promeni = "UPDATE objekat SET ime='$ime',src='$data', filename='$src_name', filesize='$src_size', filetype='$src_type' WHERE id='$id'";
mysql_query($promeni);



NE RADI!

A kući mi sve radi ok...
Ako ne koristim addslashes tj. $data = fread(fopen($src, "r"), filesize($src));
dešava se ista stvar...
[ goran33 @ 23.11.2002. 12:43 ] @
Greška je bila moja i ispravio sam je... Inače, ono radi sasvim normalno... Na server sam prebacio drugačiji fajl, koji je sadržao liniju sa greškom...
Ljudi, izvinjavam se...